预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
SELECT语句是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出。从这一句回答中,我们马上可以看到两个关键字:从(FROM)数据库中的表格内选出(SELECT)。(表格是一个数据库内的结构,它的目的是储存资料。在HYPERLINK"http://sql.1keydata.com/cn/sql-create.php"表格处理这一部分中,我们会提到如何使用SQL来设定表格。)我们由这里可以看到最基本的SQL架构:SELECT"栏位名"FROM"表格名"我们用以下的例子来看看实际上是怎么用的。假设我们有以下这个表格:Store_Information表格store_nameSalesDateLosAngeles$1500Jan-05-1999SanDiego$250Jan-07-1999LosAngeles$300Jan-08-1999Boston$700Jan-08-1999若要选出所有的店名(store_Name),我们就打入:SELECTstore_nameFROMStore_Information结果:store_nameLosAngelesSanDiegoLosAngelesBoston我们一次可以读取好几个栏位,也可以同时由好几个表格中选资料。SELECTDISTINCTSELECT指令让我们能够读取表格中一个或数个栏位的所有资料。这将把所有的资料都抓出,无论资料值有无重复。在资料处理中,我们会经常碰到需要找出表格内的不同资料值的情况。换句话说,我们需要知道这个表格/栏位内有哪些不同的值,而每个值出现的次数并不重要。这要如何达成呢?在SQL中,这是很容易做到的。我们只要在SELECT后加上一个DISTINCT就可以了。DISTINCT的语法如下:SELECTDISTINCT"栏位名"FROM"表格名"举例来说,若要在以下的表格,Store_Information,找出所有不同的店名时,Store_Information表格store_nameSalesDateLosAngeles$1500Jan-05-1999SanDiego$250Jan-07-1999LosAngeles$300Jan-08-1999Boston$700Jan-08-1999我们就打入,SELECTDISTINCTstore_nameFROMStore_Information结果:store_nameLosAngelesSanDiegoBostonHYPERLINK"http://sql.1keydata.com/cn/sql-where.php"SQLWHERE我们并不一定每一次都要将表格内的资料都完全抓出。在许多时候,我们会需要选择性地抓资料。就我们的例子来说,我们可能只要抓出营业额超过$1,000的资料。要做到这一点,我们就需要用到WHERE这个指令。这个指令的语法如下:SELECT"栏位名"FROM"表格名"WHERE"条件"若我们要由以下的表格抓出营业额超过$1,000的资料,Store_Information表格store_nameSalesDateLosAngeles$1500Jan-05-1999SanDiego$250Jan-07-1999LosAngeles$300Jan-08-1999Boston$700Jan-08-1999我们就打入,SELECTstore_nameFROMStore_InformationWHERESales>1000结果:store_nameLosAngelesHYPERLINK"http://sql.1keydata.com/cn/sql-and-or.php"SQLANDOR>>在上一页中,我们看到WHERE指令可以被用来由表格中有条件地选取资料。这个条件可能是简单的(像上一页的例子),也可能是复杂的。复杂条件是由二或多个简单条件透过AND或是OR的连接而成。一个SQL语句中可以有无限多个简单条件的存在。复杂条件的语法如下:SELECT"栏位名"FROM"表格名"WHERE"简单条件"{[AND|OR]"简单条件"}+{}+代表{}之内的情况会发生一或多次。在这里的意思就是AND加简单条件及OR加简单条件的情况可以发生一或多次。另外,我们可以用()来代表条件的先后次序。举例来说,我们若要在Store_Information表格中选出所有Sales高于$1,000或是Sales在$500及$275之间的资料的话,Store_Information表格store_nameSalesDateLosAngeles$1500Jan-05-1999SanDiego$250Jan-07-1999SanFranci