QA Dojo
ハンズオン
進捗 0/47

NOT IN で逆を取る

スライド 2 of 6

販売中(status=20)の商品だけ」を取り出したい時。WHERE status = 20 でも書けますが、 「販売前と販売終了 以外」と読み替えれば NOT IN も使えます:

SELECT * FROM products WHERE status NOT IN (10, 30)

NOT IN (a, b) は「a でも b でもない」と読みます。除外したい値を列挙できるので、 「キャンセル以外の注文」「特定の社内テストユーザー以外」みたいな場面で便利。

期待結果:21 件(販売中の商品)。

📌 QA 視点:NOT IN は NULL を含むカラムだと罠ありWHERE col NOT IN (1, NULL) のように NULL がリスト内にあると、想定外の結果になりがち。今回は status は NOT NULL なので問題なし。

SQL を書いて「実行」を押してください