GROUP BY と HAVING を両方書くとき、HAVING は GROUP BY の後ろに置く。
正答
○ 正しい
解説
正しい。HAVING はグループ化した後の結果を絞る句なので、GROUP BY の後ろに書く。順番は FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT で、HAVING COUNT(*) >= 2 GROUP BY dept のように前に置くと SQLite は構文エラーを返す。WHERE と混同しやすいが、WHERE はグループ化の前の行に、HAVING はグループ化の後の集計結果に条件を付ける、と位置と役割をセットで覚える。
参考: www.sqlite.org
この問題を含む SQL のテストを制限時間つきで解く
SQLクイズへ