您的位置:首页 > 数据库

SQL语法学习笔记『SQL语法学习笔记(三)』

2010-02-10 16:19 281 查看
语句6:SELECT "栏位名" FROM " 表格名" WHERE "栏位名" BETWEEN '值一' AND '值二'

[align=left] [/align]
举例:这将选出栏位值包含在值一及值二之间的每一笔资料。
[align=left]举例来说,若我们要由 Store_Information 表格中找出所有介于 January 6, 1999 及 January 10, 1999 中的资料, [/align]
[align=left]store_name [/align][align=left]Sales [/align][align=left]Date [/align]
[align=left]Los Angeles [/align][align=left]$1500 [/align][align=left]Jan-05-1999 [/align]
[align=left]San Diego [/align][align=left]$250 [/align][align=left]Jan-07-1999 [/align]
[align=left]San Francisco [/align][align=left]$300 [/align][align=left]Jan-08-1999 [/align]
[align=left]Boston [/align][align=left]$700 [/align][align=left]Jan-08-1999 [/align]
[align=left] [/align]
[align=left]我们就打入,[/align]
[align=left]SELECT * FROM Store_Information WHERE Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999' [/align]
[align=left]请读者注意:在不同的数据库中,日期的储存法可能会有所不同。在这里我们选择了其中一种储存法。 [/align]
[align=left]
结果: [/align]
[align=left]store_name [/align][align=left]Sales [/align][align=left]Date [/align]
[align=left]San Diego [/align][align=left]$250 [/align][align=left]Jan-07-1999 [/align]
[align=left]San Francisco [/align][align=left]$300 [/align][align=left]Jan-08-1999 [/align]
[align=left]Boston [/align][align=left]$700 [/align][align=left]Jan-08-1999 [/align]
语句7SELECT "栏位名" FROM "表格名" WHERE "栏位名" LIKE {套式}
说明:{套式} 经常包括野卡 (wildcard). 以下是几个例子:
[align=left]· 'A_Z': 所有以 'A' 起头,另一个任何值的字原,且以 'Z' 为结尾的字串。 'ABZ' 和 'A2Z' 都符合这一个模式,而 'AKKZ' 并不符合 (因为在 A 和 Z 之间有两个字原,而不是一个字原)。 [/align]
[align=left]· 'ABC%': 所有以 'ABC' 起头的字串。举例来说,'ABCD' 和 'ABCABC' 都符合这个套式。 [/align]
[align=left]· '%XYZ': 所有以 'XYZ' 结尾的字串。举例来说,'WXYZ' 和 'ZZXYZ' 都符合这个套式。 [/align]
· '%AN%': 所有含有 'AN' 这个套式的字串。举例来说, 'LOS ANGELES' 和 'SAN FRANCISCO' 都符合这个套式。

举例:我们将以上最后一个例子用在我们的 Store_Information 表格上:
[align=left]store_name [/align][align=left]Sales [/align][align=left]Date [/align]
[align=left]LOS ANGELES [/align][align=left]$1500 [/align][align=left]Jan-05-1999 [/align]
[align=left]SAN DIEGO [/align][align=left]$250 [/align][align=left]Jan-07-1999 [/align]
[align=left]SAN FRANCISCO [/align][align=left]$300 [/align][align=left]Jan-08-1999 [/align]
[align=left]BOSTON [/align][align=left]$700 [/align][align=left]Jan-08-1999 [/align]
[align=left] [/align]
[align=left]我們就打入,[/align]
[align=left]SELECT * FROM Store_Information WHERE store_name LIKE '%AN%'

[/align]
[align=left]
結果: [/align]
[align=left]store_name [/align][align=left]Sales [/align][align=left]Date [/align]
[align=left]LOS ANGELES [/align][align=left]$1500 [/align][align=left]Jan-05-1999 [/align]
[align=left]SAN FRANCISCO [/align][align=left]$300 [/align][align=left]Jan-08-1999 [/align]
[align=left]SAN DIEGO [/align][align=left]$250 [/align][align=left]Jan-07-1999 [/align]
语句8SELECT "栏位名" FROM "表格名" [WHERE "条件"]
ORDER BY "
栏位名" [ASC, DESC]
语句说明:[] 代表 WHERE 是一定需要的。不过,如果 WHERE 子句存在的话,它是在 ORDER BY 子句之前。 ASC 代表结果会以由小往大的顺序列出,而 DESC 代表结果会以由大往小的顺序列出。如果两者皆没有被写出的话,那我们就会用 ASC
我们可以照好几个不同的栏位来排顺序。在这个情况下, ORDER BY 子句的语法如下(假设有两个栏位):
ORDER BY "栏位一" [ASC, DESC], "栏位二" [ASC, DESC]
若我们对这两个栏位都选择由小往大的话,那这个子句就会造成结果是依据 "栏位一" 由小往大排。若有好几笔资料 "栏位一" 的值相等,那这几笔资料就依据 "栏位二" 由小往大排。
举例:若我们要依照 Sales 栏位的由大往小列出 Store_Information 表格中的资料,
[align=left]store_name [/align][align=left]Sales [/align][align=left]Date [/align]
[align=left]Los Angeles [/align][align=left]$1500 [/align][align=left]Jan-05-1999 [/align]
[align=left]San Diego [/align][align=left]$250 [/align][align=left]Jan-07-1999 [/align]
[align=left]San Francisco [/align][align=left]$300 [/align][align=left]Jan-08-1999 [/align]
[align=left]Boston [/align][align=left]$700 [/align][align=left]Jan-08-1999 [/align]
[align=left] [/align]
[align=left]我们就打入,[/align]
[align=left]SELECT store_name, Sales, Date FROM Store_Information
ORDER BY Sales DESC


结果: [/align]
[align=left] [/align]
[align=left]store_name [/align][align=left]Sales [/align][align=left]Date [/align]
[align=left]Los Angeles [/align][align=left]$1500 [/align][align=left]Jan-05-1999 [/align]
[align=left]Boston [/align][align=left]$700 [/align][align=left]Jan-08-1999 [/align]
[align=left]San Francisco [/align][align=left]$300 [/align][align=left]Jan-08-1999 [/align]
[align=left]San Diego [/align][align=left]$250 [/align][align=left]Jan-07-1999 [/align]
[align=left]在以上的例子中,我们用栏位名来指定排列顺序的依据。除了栏位名外,我们也可以用栏位的顺序 (依据 SQL 句中的顺序)。在 SELECT 后的第一个栏位为 1,第二个栏位为 2,以此类推。在上面这个例子中,我们打以下这一句 SQL 可以达到完全一样的效果: [/align]
[align=left]SELECT store_name, Sales, Date FROM Store_Information
ORDER BY 2 DESC
[/align]本文出自 “罗斌个人原创天地” 博客,请务必保留此出处http://luobin.blog.51cto.com/882147/275973
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: