面試官:說說WHERE,HAVING和ON的區(qū)別?
點擊關(guān)注上方“SQL數(shù)據(jù)庫開發(fā)”,
設(shè)為“置頂或星標”,第一時間送達干貨
最近有小伙伴私信我:今天面試有道題把我一下子問懵了,讓我說出WHERE,HAVING和ON的區(qū)別。
覺得這個問題很有價值給小伙伴們分享一下。
注:以下測試和結(jié)論基于SQL Server數(shù)據(jù)庫。
這三個關(guān)鍵字我們平時經(jīng)常使用,他們一個共同點是:都可以用來過濾數(shù)據(jù)。
那不同點是什么呢?我們先來看看WHERE和HAVING的區(qū)別
(8)SELECT?(9)DISTINCT??(11)<Top?Num>?<select?list>
(1)FROM?[left_table]
(3)<join_type>?JOIN?<right_table>
(2)????????ON?<join_condition>
(4)WHERE?<where_condition>
(5)GROUP?BY?<group_by_list>
(6)WITH?<CUBE?|?RollUP>
(7)HAVING?<having_condition>
(10)ORDER?BY?<order_by_list>?

SELECT?省份,COUNT(*) 人數(shù)
FROM?Customers
WHERE?COUNT(*)>1
GROUP?BY?省份
SELECT?省份,COUNT(*) 人數(shù)
FROM?Customers
GROUP?BY?省份
HAVING?COUNT(*)>1結(jié)果如下:

——End——
后臺回復關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨 后臺回復關(guān)鍵字:進群,帶你進入高手如云的交流群。 推薦閱讀
這是一個能學到技術(shù)的公眾號,歡迎關(guān)注
評論
圖片
表情
