Sql server--Where,having過濾方法總結

一 where過濾

1 使AND OR 組合查詢條件 

SELECT * from sell WHERE Sell_Price>=1000 and(or) Sell_Price<=2000 函數


2 使⽤用Between Not Between 過濾記錄 

SELECT * from sell WHERE Sell_Price BETWEEN 1000 and 2000(Not Between 不在這範圍) spa


3 使⽤用IN Not IN 過濾記錄

SELECT * from worker WHERE Work_id IN ('9601','9702')  (Not IN就不是這個...範圍)select


4使⽤用LIKE 和 通配符過濾記錄

% 有零個或更多字符組成   - 單個字符im

[] 指定範圍 例如【A~F】[^]指定範圍外 [^A~F]數據

例、從「WORKER」中查找姓名中第⼆二個字 是⽂文的職員信息。查詢

Select * FROM worker Where work_name LIKE ' __' word

例:查詢worker表中全部姓王的職員信息 集合

Select * from student Where student_name like ' %' vi

例、顯⽰示姓劉和姓王的職員信息co

Select * FROM worker Where work_name LIKE ' [劉王]%' 

例、從「worker」表中檢索職⼯工編號末位數字不 在2~6範圍內的職員。 

select * from worker where work_id like '%[^2- 6]' 


5 使⽤用空值過濾記錄

select * from supplier where sup_tel is (not) null 


二 having過濾

彙總出銷售總計在1000元以上的職員的編號及銷售總計 

select word_id,sum(sell_price) from sell where sell_price > 1000 group by word_id

where篩選是先選出銷售價格在1000以上的,而後再分組彙總

select word_id,sun(sell_price)from sell group by word_id having sum(sell_price)>1000

having篩選是先分組彙總,再選出銷售總價在1000以上的


 不一樣點:
1 WHERE檢查每條記錄是否滿⾜足條件,⽽而HAVING檢查分組彙總以後的 各組彙總數據是否滿⾜足條件;
2 在
Having⼦子句中可⽤用集合函數,在Where⼦子句中則不能。

相關文章
相關標籤/搜索