2026 年 10 月の注文だけを取り出したい。空欄に入るものは?
SELECT id FROM ordersWHERE ordered_at >= '2026-10-01' AND ordered_at ____ '2026-11-01';正答
- <
- <=
- >
- =
解説
期間の条件は「開始日以上・翌月 1 日未満」の半開区間で書く。<= にすると 2026-11-01 の注文が 10 月に混ざる。この書き方なら、列に時刻が付いていても('2026-10-31 23:59:59' など)月末の行が漏れない。BETWEEN '2026-10-01' AND '2026-10-31' は、時刻付きの列だと 31 日の 0 時より後の行が文字列の比較で落ちる。> や = は範囲の条件として意味が通らない。
参考: www.sqlite.org
この問題を含む SQL のテストを制限時間つきで解く
SQLクイズへ