資料庫中where與having的區別

石汐曦發表於2018-10-25

從整體宣告角度分析:

  “where”是一個約束宣告,在查詢資料庫結果返回之前對資料庫的查詢條件做一個約束,即返回結果之前起作用,“where”後面不能跟聚合函式;

  “having”是一個過濾宣告,在查詢資料庫結果返回之後進行過濾,即返回結果之後起作用,“having”後面可以加聚合函式;

聚合函式:是對一組值進行計算,返回單一的值,例如:count(),sum(),max(),min()

從使用角度分析:

  “where”   select  student_id,student_name from student where student_sorce>80;

  ”having”  select sum(sorce) from student group by student_sex having student_id<10;

相關文章