SQL语法帮助
假設(shè)student表中存儲著學(xué)生的考試成績,數(shù)據(jù)信息如下:
| 1 | 張三 | 數(shù)學(xué) | 90 | 2008-09-01 |
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
| 3 | 王五 | 化學(xué) | 70 | 2008-01-10 |
其中,各列的數(shù)據(jù)類型如下:
ID??NUMBER??數(shù)字類型
Name??VARCHAR2??字符串類型
Type??VARCHAR2??字符串類型
Score??NUMBER??數(shù)字類型
PassDate??DATE??日期類型
-----------------------------------------------------------------------------------------
?
數(shù)字類型查詢
對于數(shù)字類型列,可使用的比較符有:=、!=、>、<、>=、<=、between...and...、in、not in
例, 執(zhí)行以下SQL語句進(jìn)行查詢:
1. select * from student where score = 93
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
2. select * from student where score >= 90
查詢結(jié)果:
| 1 | 張三 | 數(shù)學(xué) | 90 | 2008-09-01 |
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
3. select * from student where score between 90 and 100
查詢結(jié)果:
| 1 | 張三 | 數(shù)學(xué) | 90 | 2008-09-01 |
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
?
-----------------------------------------------------------------------------------------
?
字符串類型查詢
對于字符串類型列,在查詢時需要在字符串兩邊添加單引號('),可使用的比較符有:=、!=、like、in、not like、not in
例, 執(zhí)行以下SQL語句進(jìn)行查詢:
1. select * from student where name = '李四'
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
2. 當(dāng)不確定字符串內(nèi)容時,可使用like進(jìn)行查詢,其中(%)意為占位符。
select * from student where type like '%數(shù)%'
查詢結(jié)果:
| 1 | 張三 | 數(shù)學(xué) | 90 | 2008-09-01 |
3. 當(dāng)需要同時查詢多個字符串時,可使用in進(jìn)行查詢,其中每個字符串需用(,)隔開。
select * from student where type in ('語文', '化學(xué)')
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
| 3 | 王五 | 化學(xué) | 70 | 2008-01-10 |
?
-----------------------------------------------------------------------------------------
?
日期類型查詢
對于日期類型列,在查詢時也需要在日期兩邊添加單引號('),并且日期格式寫法為:01-AUG-08,即2008-08-01(英文簡寫不區(qū)分大小寫)。
可使用的比較符有:=、!=、>、<、>=、<=、between ... and ...、like、in、not like、not in
例, 執(zhí)行以下SQL語句進(jìn)行查詢:
1. select * from student where passdate <= '1-aug-08'
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
| 3 | 王五 | 化學(xué) | 70 | 2008-01-10 |
2. 下例通過not與like組合使用,查詢?nèi)掌跒?7年的數(shù)據(jù)。
select * from student where passdate not like '%08%'
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
3. 當(dāng)需要查詢某個時間段時,可使用between ... and ...進(jìn)行查詢。
select * from student where passdate between '01-Jan-07' and '01-May-08'
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
| 3 | 王五 | 化學(xué) | 70 | 2008-01-10 |
?
-----------------------------------------------------------------------------------------
?
多條件查詢
在查詢過程中,可能會需要輸入多個查詢條件,這時可使用and、or進(jìn)行多條件組合。
例, 執(zhí)行以下SQL語句進(jìn)行查詢:
1. 下例將查詢語文考試成績在90分以上的同學(xué),需要使用and符。
select * from student where type = '語文' and score >= 90
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
2. 下例將查詢考試成績在90分以上或60分以下的同學(xué),需要使用or符。
select * from student where score > 90 or score < 60
查詢結(jié)果:
| 2 | 李四 | 語文 | 93 | 2007-12-02 |
?
-----------------------------------------------------------------------------------------
注意:以上藍(lán)色SQL語法均要使用英文半角!
轉(zhuǎn)載于:https://www.cnblogs.com/gnielee/archive/2008/10/24/tsql-query.html
總結(jié)
- 上一篇: cisco stp技术应用
- 下一篇: 转载:LINQ to SQL更新数据库操