SQL記述難易度 基礎

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

SELECT name FROM emp ORDER BY name WHERE dept = 'ops';

正答

正答SELECT name FROM emp WHERE dept = 'ops' ORDER BY name;

解説

SELECT 文では WHERE が FROM の直後に来て、ORDER BY はその後ろに書く。WHERE で行を絞ってから ORDER BY で並べ替える、という流れのとおりの順番になる。ORDER BY name の後ろに WHERE を書くと、SQLite は WHERE の位置で構文エラーを返す。正しくは SELECT name FROM emp WHERE dept = 'ops' ORDER BY name; で、C と D が名前順に返る。

参考: www.sqlite.org

whereorder-byclause-order

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

SQLクイズへ