MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで特定のレコードを除外する方法!比較演算子「!=」の使い方を実例付きで解説

MySQLで特定のレコードを除外したい場合は、比較演算子「!=」(等しくない)を使用します。この記事では、実際にテーブルを作成し、サンプルデータを操作しながら、特定のレコードを除外するクエリの書き方をわかりやすく解説します。

1. サンプルテーブルの作成

まず、CREATE TABLE文を使ってテーブルを作成します。

mysql> create table DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientName varchar(20),
    ClientCountryName varchar(10)
    );
Query OK, 0 rows affected (0.64 sec)

このテーブルは、顧客ID・顧客名・国名を格納するシンプルな構造です。

2. レコードの挿入

次に、INSERT文でサンプルデータを追加していきます。

mysql> insert into DemoTable(ClientName,ClientCountryName) values('John','US');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(ClientName,ClientCountryName) values('David','AUS');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable(ClientName,ClientCountryName) values('Mike','UK');
Query OK, 1 row affected (0.14 sec)

3. 登録された全レコードの確認

SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

実行結果は以下のとおりです。

+----+------------+-------------------+
| Id | ClientName | ClientCountryName |
+----+------------+-------------------+
| 1  | John       | US                |
| 2  | David      | AUS               |
| 3  | Mike       | UK                |
+----+------------+-------------------+
3 rows in set (0.00 sec)

4. 特定のレコードを除外するクエリ

ここからが本題です。以下のクエリでは、「ClientNameが'David'」または「ClientCountryNameが'AUS'」に該当するレコードを除外しています。

mysql> select *from DemoTable where ClientName!='David' AND ClientCountryName!='AUS';

実行結果:

+----+------------+-------------------+
| Id | ClientName | ClientCountryName |
+----+------------+-------------------+
| 1  | John       | US                |
| 3  | Mike       | UK                |
+----+------------+-------------------+
2 rows in set (0.00 sec)

ご覧のとおり、David(AUS)のレコードだけが除外され、残りの2件が取得できました。

ポイント:複数条件で除外するときはANDを使う

複数の条件のいずれかに一致するレコードをまとめて除外したい場合は、「!=」の条件同士をANDでつなぐのがポイントです。ORでつなげてしまうと、片方の条件にしか該当しないレコードまで取得されてしまい、意図した除外結果になりません。「除外したい条件の否定(!=)をANDで組み合わせる」と覚えておくと良いでしょう。

  1. MySQLでデータを特定の順序に並べ替える方法を解説

    MySQLでデータを特定の順序に並べ替える方法MySQLでデータを任意の順序に並べ替えたい場合は、ORDER BY IF() を使用します。この手法を使うと、指定した値を持つレコードを優先的に先頭に表示し、残りのレコードをその後に続けることができます。基本構文以下が、ORDER BY IF() を使った並べ替えの構文です。select *from yourTableName ORDER BY IF(yourColumnName=yourValue1 OR yourColumnName=yourValue2 OR yourColumnName=yourValue3,yourColumnName,

  2. MySQLで特定のカラムのデータをエクスポートする方法(INTO OUTFILEの使い方)

    MySQLで特定のカラムのデータをエクスポートする方法 MySQLでテーブルから特定のカラム(列)のデータだけをファイルに書き出したい場合は、SELECT文とINTO OUTFILEを組み合わせるのが最もシンプルで確実な方法です。この記事では、実際にテーブルを作成し、データを投入したうえで、特定のカラムをテキストファイルへエクスポートする手順を順番に解説します。 基本構文 特定のカラムをファイルに出力する際の基本構文は次のとおりです。 select yourColumnName from yourTableName into outfile yourLocationOfFile; このように