標準 SQL で GROUP BY dept を使うとき、SELECT に書けるものは?
正答
- emp 表のどの列でも
- dept と集計関数
- 集計関数だけ
- 主キーの列だけ
解説
GROUP BY dept では 1 つの部署が 1 行にまとまるため、SELECT に書けるのは dept と、COUNT や SUM のようにグループ全体から 1 つの値を作る集計関数に限られる。name のような列は部署に複数あって値が 1 つに決まらないので、標準 SQL ではエラーになる。dept 自体は書けるので「集計関数だけ」も誤り。SQLite や MySQL の既定設定は通してしまうが、どの行の値が返るか保証されない。
この問題を含む SQL のテストを制限時間つきで解く
SQLクイズへ