SQL4 択難易度 基礎

メールアドレスが未登録のユーザーを出したい。直したものは?

SELECT id FROM users WHERE email = NULL;

正答

  1. SELECT id FROM users WHERE email IS NULL;
  2. SELECT id FROM users WHERE email == NULL;
  3. SELECT id FROM users WHERE email = 'NULL';
  4. SELECT id FROM users WHERE email IS NOT NULL;

解説

NULL は「値が無い」状態で、= や <> で比較すると結果は真にも偽にもならず、条件としては一致しない扱いになる。email = NULL は 1 行も返さない。NULL かどうかは IS NULL / IS NOT NULL で判定する。選択肢 2 の == も比較演算子なので同じく 0 件。選択肢 3 は文字列 'NULL' と比較しており、未登録とは無関係。

参考: www.sqlite.org

nullis-null

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

SQLクイズへ