SQL4 択難易度 標準

次の SQL の結果は?(id は 1 から 5 の 5 行)

SELECT id FROM tORDER BY id DESC LIMIT 2 OFFSET 1;

正答

  1. 5, 4
  2. 4, 3
  3. 3, 2
  4. 2, 1

解説

ORDER BY id DESC で 5, 4, 3, 2, 1 の順に並び、OFFSET 1 で先頭の 5 を飛ばし、LIMIT 2 でそこから 2 行取るので 4 と 3 になる。OFFSET を無視すると選択肢 1 の 5, 4 になり、DESC を見落として昇順と考えると 2, 3 のような結果を想像してしまう。LIMIT と OFFSET は並べ替えが終わった後に適用される。

参考: www.sqlite.org

limitorder-byoffset

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

SQLクイズへ