部署名の重複を除いて一覧したい。正しく直したものは?
SELECT deptFROM empORDER BY dept;正答
- SELECT dept DISTINCT FROM emp ORDER BY dept;
- SELECT dept FROM emp DISTINCT ORDER BY dept;
- SELECT DISTINCT dept FROM emp ORDER BY dept;
- SELECT dept FROM emp ORDER BY DISTINCT dept;
解説
DISTINCT は SELECT の直後に置き、その後ろに並べた列の組み合わせ全体で重複を除く。SELECT dept DISTINCT のように列名の後ろに書くと構文エラーになる。FROM emp の後ろや ORDER BY の中に置くのも誤りで、どちらもエラーになる。SELECT DISTINCT dept, name と書いた場合は dept と name の組み合わせが同じ行だけが 1 つにまとまる点にも注意する。
参考: www.sqlite.org
この問題を含む SQL のテストを制限時間つきで解く
SQLクイズへ