前のページでは、特定の値のレコードだけに絞り込む方法を学びました。
ここではその逆、"〇〇列の値が XX 以外のレコードだけ欲しい" 場合の抽出方法を学びます。
なお、これ以降、型に応じた書き方は基本的に省きますので、不安な方は前のページで再度把握してください。
SELECT * FROM テーブル名 WHERE 列名 <> 値;
特定の値に一致する行に絞り込む場合は、列名 = 値
と示しましたが、
特定の値に一致しない行を抽出したい場合、つまり否定で絞り込みたい場合は、列名 <> 値
を示します。
値をダブルクォートで括るかどうかは、その列の型に依存するのは変わりはないです。
SELECT * FROM products WHERE name <> "apple";
SELECT * FROM users WHERE department_id <> 5;
SELECT * FROM users WHERE birthday <> "2010-06-10";
SELECT * FROM products WHERE updated_at <> "2020-06-10 07:06:20";
試しに、SELECT 文で products テーブルで、指定した条件以外のレコードだけを取得してみましょう!
次の SQL 文を実行すると、products テーブルより、価格(price)が 2000 以外 のレコードだけ表示されます。