SQL記述難易度 標準

この SQL はエラーになる。正しく直して書いてください。

SELECT name FROM emp ORDER BY salary DESC LIMT 2;

正答

正答SELECT name FROM emp ORDER BY salary DESC LIMIT 2;

解説

取り出す件数を指定するキーワードは LIMIT で、LIMT は 2 つ目の I が抜けた打ち間違い。DESC の後ろに認識できない語があるので、SQLite は LIMT の位置で構文エラーを返す。SQL Server の TOP や Oracle の FETCH FIRST と書き方が違うため混乱しやすいが、SQLite では ORDER BY の後ろに LIMIT 件数 と書く。正しく直すと給与の高い B と D が返る。

参考: www.sqlite.org

typolimit

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

SQLクイズへ