mysql中where和having的區別

mysql中裏面的where和having是有相當大的區別的
having:這個關鍵字後面跟着的條件語句裏面的變量必須在select後面有相應的變量.
where:這個關鍵字後面跟着的變量必須是真實的字段.
例如:
這裏寫圖片描述

where後面跟着的變量必須是真實的字段,having則不需要,使用as 指定的字段也能夠作爲條件
這裏寫圖片描述
使用as指定的字段作爲判斷條件
這裏寫圖片描述
使用mysql函數的情況
這裏寫圖片描述
所以使用having這個關鍵字的時候,後面的變量一定要在select後面出現,另外計算結果、字符等不是真正的字段使用as指定的臨時字段也能夠在having後面作爲判斷條件,但是這一點where做不到,where後面的判斷條件一定是真實的字段,但是這個字段不一定要在select後面出現.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章