having vs where
SELECT subjectname,AVG(studentresult) AS 平均分,MAX(StudentResult) AS 最高分,MIN(StudentResult) AS 最低分
FROM result AS r
INNER JOIN subject AS s
ON r.subjectno = s.subjectno
GROUP BY r.subjectno
HAVING 平均分>80;
/*
where寫在group by前面.
要是放在分組后面的篩選
要使用HAVING…
因為having是從前面篩選的字段再篩選,而where是從數據表中的>字段直接進行的篩選的
*/
語法:
SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,…]]}
FROM table_name [as table_alias]
[left | right | inner join table_name2] – 聯合查詢
[WHERE …] – 指定結果需滿足的條件
[GROUP BY …] – 指定結果按照哪幾個字段來分組
[HAVING] – 過濾分組的記錄必須滿足的次要條件
[ORDER BY …] – 指定查詢記錄按一個或多個條件排序
[LIMIT {[offset,]row_count | row_countOFFSET offset}];
– 指定查詢的記錄從哪條至哪條
總結
以上是生活随笔為你收集整理的having vs where的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: count() * ,1,字段 三
- 下一篇: 玩转tomcat