1. 程式人生 > >having 和 where的區別

having 和 where的區別

ont price ood 統計函數 mil 數據表 -o pan 不能

區別1

where是從數據表中的字段直接進行的篩選的。

having是從 前面篩選的字段再篩選

eg: select goods_price,goods_name from goods having goods_price > 100

等價於

select goods_price,goods_name from goods where goods_price > 100

select goods_name,goods_number from goods having goods_price > 100

// 報錯!!!因為前面並沒有篩選出 goods_price 字段

區別2

having子句中可以使用字段別名,而where不能使用

區別3

having能夠使用統計函數,先分組,再判斷(having),但是where不能使用

having 和 where的區別