在上一篇文章中介紹了SQL SERVER的SELECT語句的簡單使用方法,這篇文章繼續介紹其他常用的查詢方法。
第一,查詢結果中使用LIKE和通配符
上圖中介紹了4中通配符的使用方法。下面以實際例子介紹
'當在查詢中使用中文時,有時會查詢不到數據,實際記錄中是有對應的記錄的,一般是
'由於編碼問題,可以在中文字符前面加N,如: N‘李%’
'使用通配符%,查詢StudentName中第一個字是李,後面任意多個或者一個字
SELECT StudentName, phone, Address, IDENTITYcard
FROM Student WHERE StudentName LIKE ‘李%’
'使用通配符_,查詢StudentName中第一個字是李,後面任意一個字
SELECT StudentName, phone, Address, IDENTITYcard
FROM Student WHERE StudentName LIKE ‘李_’
'使用通配符[],查詢StudentName中第一個字是張王李任意一個字符,後面任意多個字
SELECT StudentName, phone, Address, IDENTITYcard
FROM Student WHERE StudentName LIKE ‘[張王李]%’
'使用通配符[^],查詢StudentName中第一個字不在張王李任意一個字符
SELECT StudentName, phone, Address, IDENTITYcard
FROM Student WHERE StudentName LIKE ‘[^張李]%’
第二,查詢中使用操作符
在上圖中介紹了常用的操作符的含義。下面以實際例子介紹
(1)操作符 BETWEEN ... AND 選取介於兩個值之間的數據範圍。值可以是數值、文本或者日期。
SELECT * FROM Result WHERE Result BETWEEN 50 AND 90
SELECT * FROM Result WHERE Result NOT BETWEEN 50 AND 90
(2)比較的使用,不等於有兩種:<>, !=
SELECT * FROM Result WHERE (Result > 50) AND (Result < 80)
(3)操作符 IN 允許在WHERE子句中規定多個值。也可以使用 NOT IN
SELECT StudentName,phone, Address, IDENTITYcard
FROM Student WHERE StudentName IN (N'李雷',N'李莫愁')
(4)對查詢結果排序(ASC:升序,DESC:降序)
SELECT * FROM Result ORDER BY Result ASC --默認升序,不加ASC
SELECT * FROM Result WHERE Result > 50 ORDER BY Result DESC
SELECT * FROM Student ORDER BY [ID] ASC, [IDENTITYcard] DESC --多列排序
(5)使用IS NULL 查詢空值,不能使用” =NULL ”
SELECT * FROM Student WHERE phone IS NULL --查詢phone為空的記錄
SELECT * FROM Student WHERE phone IS NOT NULL --查詢phone不為空的記錄
別走開,下一篇文章繼續介紹更多高級查詢功能。
閱讀更多 劍指工控 的文章