SQL4 択難易度 基礎

部署名の重複を除いて一覧したい。正しく直したものは?

SELECT deptFROM empORDER BY dept;

正答

  1. SELECT dept DISTINCT FROM emp ORDER BY dept;
  2. SELECT dept FROM emp DISTINCT ORDER BY dept;
  3. SELECT DISTINCT dept FROM emp ORDER BY dept;
  4. 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

distinctclause-order

この問題を含む SQL のテストを制限時間つきで解く

SQLクイズへ