指摘・レビュー4 択難易度 基礎

このSQLへの指摘として正しいものは?

SELECT id, name FROM users LIMIT 10 ORDER BY id;

正答

  1. ORDER BY には ASC か DESC の明記が必須
  2. LIMIT は ORDER BY の後ろに書く
  3. LIMIT の数値はクォートで囲む
  4. id と name の間のカンマは不要

解説

SELECT 文の句は FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT の順に書く決まりで、LIMIT を ORDER BY より前に置くと構文エラーになる。指摘としては「LIMIT と ORDER BY の順が逆」と場所を示すのが伝わりやすい。ASC は省略時の既定値なので明記は必須ではなく、1 番目の指摘は存在しない問題を挙げている。

参考: www.sqlite.org

sqlclause-orderlimit

この問題を含む 指摘・レビュー のテストを制限時間つきで解く

指摘・レビュークイズへ