MySQLのWHERE句で「!=」(等しくない)を使う方法をわかりやすく解説
MySQLのWHERE句で「等しくない」条件を使う方法
MySQLでは、WHERE句で「等しくない」条件を指定する際に、!=演算子または<>(不等号演算子)を使用できます。どちらも同じ意味を持ち、指定した値と一致しないレコードだけを抽出できます。
基本構文
SELECT * FROM テーブル名 WHERE カラム名 <> 条件値;
<>の代わりに!=を使っても、まったく同じ動作になります。
サンプルテーブルの作成
構文を理解するために、まずテーブルを作成しましょう。以下のクエリで「NotEqualsDemo」というテーブルを作成します。
mysql> CREATE TABLE NotEqualsDemo
-> (
-> Id int
-> );
Query OK, 0 rows affected (1.03 sec)
レコードの挿入
次に、INSERTコマンドを使ってテーブルにいくつかのレコードを挿入します。
mysql> INSERT INTO NotEqualsDemo VALUES(1);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO NotEqualsDemo VALUES(2);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO NotEqualsDemo VALUES(3);
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO NotEqualsDemo VALUES(4);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO NotEqualsDemo VALUES(5);
Query OK, 1 row affected (0.14 sec)
登録データの確認
SELECT文ですべてのレコードを表示して、データが正しく登録されているか確認しましょう。
mysql> SELECT * FROM NotEqualsDemo;
実行結果は以下の通りです。
+------+
| Id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+------+
5 rows in set (0.00 sec)
「等しくない」条件を実行してみる
それでは、冒頭で紹介した構文を実際に使ってみましょう。以下のクエリでは<> 3という条件を適用しているため、「Idが3以外」のレコードだけが返されます。
mysql> SELECT * FROM NotEqualsDemo WHERE Id <> 3;
実行結果は以下の通りです。
+------+
| Id |
+------+
| 1 |
| 2 |
| 4 |
| 5 |
+------+
4 rows in set (0.00 sec)
このように、Idが3のレコードだけが除外され、残りの4件が取得できました。同じクエリをWHERE Id != 3として書いても、まったく同じ結果になります。
補足:NULL値の扱いに注意
<>や!=は、NULL値との比較では成立しません。対象カラムの値がNULLであるレコードは、結果セットから自動的に除外されます。NULLも含めて扱いたい場合は、IS NOT NULLやIFNULL()関数を組み合わせて条件を設計する必要がありますので、実務で利用する際は注意しましょう。
-
MySQLクエリで「〜より大きくない」条件を記述する方法
MySQLで「〜より大きくない」を表すには?MySQLのクエリにおいて「〜より大きくない(not greater than)」という条件は、比較演算子の「〜以下(<=)」を使うことで簡単に表現できます。基本の構文は次のとおりです。select * from テーブル名 where カラム名<=値;サンプルテーブルを作成するまず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable1480 -> ( -> StudentName varchar(40), -> StudentMarks int
-
【C#】LINQで「NOT IN」クエリを実現する方法|Except演算子の使い方を徹底解説
Except演算子とは C#のLINQにおける Except 演算子は、IEnumerable<T> インターフェースをサポートするデータソースに対して使用できる集合演算のひとつです。すべてのLINQクエリ式、およびほとんどのLINQメソッドは IEnumerable<T> を返すため、この演算子を使えばLINQクエリの結果同士で差集合(差分)の計算を簡単に行えます。 Except 演算子は「1つ目のリストに含まれる項目から、2つ目のリストに含まれる項目を除外した結果」を返します。SQLでいうところの「NOT IN」とまったく同じ働きをするので、覚えておくと非常に便利で