状況
退会済みのユーザー(deleted_at に日時が入っている行)だけを削除する。DELETE の前に、同じ条件で件数を数える。
空欄に入るキーワードを書いてください。
SELECT COUNT(*) AS n FROM usersWHERE deleted_at IS ____ NULL;正答
正答
NOT解説
deleted_at に日時が入っている行は IS NOT NULL で取り出す。NOT を書き忘れて IS NULL のまま DELETE に流すと、退会していない現役のユーザーが全員消える、取り返しのつかない事故になる。deleted_at != NULL と書くと NULL との比較は常に真にならないので 0 件になり、確認の段階で「消すものがない」と誤解する。件数が想定と合うかを見てから DELETE に進む。
参考: www.sqlite.org
この問題を含む 危険察知 のテストを制限時間つきで解く
危険察知クイズへ