欢迎来到天天文库
浏览记录
ID:61035691
大小:199.50 KB
页数:40页
时间:2021-01-20
《SQL语句入门到进阶.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQL指令SELECT是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出。从这一句回答中,我们马上可以看到两个关键字:从(FROM)数据库中的表格内选出(SELECT)。(表格是一个数据库内的结构,它的目的是储存资料。在表格处理这一部分中,我们会提到如何使用SQL来设定表格。)我们由这里可以看到最基本的SQL架构:SELECT"栏位名"FROM"表格名"我们用以下的例子来看看实际上是怎么用的。假设我们有以下这个表格:store_nameSalesDateLosAngeles$1500Jan-05-1999SanDiego$25
2、0Jan-07-1999LosAngeles$300Jan-08-1999Boston$700Jan-08-1999若要选出所有的店名(store_Name),我们就打入:SELECTstore_nameFROMStore_Information结果:store_nameLosAngelesSanDiegoLosAngelesBoston我们一次可以读取好几个栏位,也可以同时由好几个表格中选资料。简单的SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。1、选择所有列例如,下面语句显
3、示testtable表中所有列的数据:代码:SELECT*FROMtesttable 2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如:代码:SELECTnickname,emailFROMtesttable 3、更改列标题在选择列表中,可重新指定列标题。定义格式为:列标题=列名如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:代码:SELECT昵称=nickname,电子邮件=email FROMtesttable 4、删除重复行SELEC
4、T语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。5、限制返回的行数使用TOPn[PERCENT]选项限制返回的数据行数,TOPn说明返回n行,而TOPnPERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如:代码:SELECTTOP2*FROM`testtable`代码:SELECTTOP20PERCENT*FROM`testtable`DISTINCTSELECT指令让
5、我们能够读取表格中一个或数个栏位的所有资料。这将把所有的资料都抓出,无论资料值有无重复。在资料处理中,我们会经常碰到需要找出表格内的不同资料值的情况。换句话说,我们需要知道这个表格/栏位内有哪些不同的值,而每个值出现的次数并不重要。这要如何达成呢?在SQL中,这是很容易做到的。我们只要在SELECT后加上一个DISTINCT就可以了。DISTINCT的语法如下:SELECTDISTINCT"栏位名"FROM"表格名"举例来说,若要在以下的表格,Store_Information,找出所有不同的店名时,Store_Information表格s
6、tore_nameSalesDateLosAngeles$1500Jan-05-1999SanDiego$250Jan-07-1999LosAngeles$300Jan-08-1999Boston$700Jan-08-1999我们就键入,SELECTDISTINCTstore_nameFROMStore_Information结果:store_nameLosAngelesSanDiegoBostonWHERE我们并不一定每一次都要将表格内的资料都完全抓出。在许多时候,我们会需要选择性地抓资料。就我们的例子来说,我们可能只要抓出营业额超过$1
7、,000的资料。要做到这一点,我们就需要用到WHERE这个指令。这个指令的语法如下:SELECT"栏位名"FROM"表格名"WHERE"条件"比较运算符(大小比较):>、>=、=、<、<=、!<、!>、!=例:返回96年1月的定单SELECTorderID,CustomerID,orderDateFROMordersWHEREorderDate〉#1/1/96#ANDorderDate〈#1/30/96#注意:McirosoftJETSQL中,日期用‘#’定界。日期也可以用Datevalue()函数来代替。在比较字符型的数据时,要加上单引号
8、’’,尾空格在比较中被忽略。例:WHEREorderDate〉#96-1-1#也可以表示为:WHEREorderDate〉Datevalue(‘1/1/96’)若我们要由以下的表
此文档下载收益归作者所有