問題
SQLにおいてWHERE句とHAVING句の違いとして正しいものはどれか。
選択肢
- 1WHEREはグループ化前、HAVINGはグループ化後の条件指定
- 2WHEREはグループ化後、HAVINGはグループ化前の条件指定
- 3両者に違いはない
- 4HAVING句はSELECT句の前に書く
正解
1. WHEREはグループ化前、HAVINGはグループ化後の条件指定
詳しい解説を見る解説を閉じる
解説
WHERE句は集約前(GROUP BY前)の行に条件を適用、HAVING句は集約後のグループに条件を適用する。例: WHERE で対象行を絞り、GROUP BYで集約、HAVINGで集約結果を絞り込む。集約関数(SUM等)を絞り込み条件に使えるのはHAVING句であり、WHERE句には書けない(SELECT句やORDER BY句では使用可能)。
一問一答
全400問を繰り返し学習