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

MySQLで特定のID以外のレコードをすべて取得する方法|NOT EQUAL演算子(<>)の使い方

MySQLのテーブルから特定のIDを持つレコードだけを除外して表示したい場合は、<>演算子(NOT EQUAL/不等価演算子)を使用します。この記事では、実際にテーブルを作成し、データを挿入しながら、特定のIDを除外したSELECT文の書き方を具体的な実行結果とともに解説します。

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

まず、以下のコマンドでテーブルを作成しましょう。

mysql> create table DemoTable7
(
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(40)
);
Query OK, 0 rows affected (0.53 sec)

このテーブルには、自動採番される主キー「StudentId」と、学生名を格納する「StudentName」の2つのカラムを定義しています。

2. テストデータの挿入

次に、INSERTコマンドを使っていくつかのレコードを追加します。

mysql> insert into DemoTable7(StudentName) values('Chris');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable7(StudentName) values('Robert');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable7(StudentName) values('Mike');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable7(StudentName) values('Sam');
Query OK, 1 row affected (0.61 sec)

3. 全レコードの確認

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

mysql> select *from DemoTable7;

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

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | Chris       |
|         2 | Robert      |
|         3 | Mike        |
|         4 | Sam         |
+-----------+-------------+
4 rows in set (0.00 sec)

現在、4件のレコードが登録されていることが確認できます。

4. NOT EQUAL演算子(<>)で特定のIDを除外する

ここからが本題です。「<>」演算子をWHERE句で使うことで、指定したID以外のすべてのレコードを選択できます。以下は、StudentIdが2以外のレコードを取得するクエリです。

mysql> select *from DemoTable7 where StudentId <> 2;

実行結果は以下のようになります。

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | Chris       |
|         3 | Mike        |
|         4 | Sam         |
+-----------+-------------+
3 rows in set (0.06 sec)

IDが2の「Robert」が除外され、残りの3件だけが表示されていることがわかります。このように、WHERE句に「カラム名 <> 値」という条件を指定するだけで、簡単に特定の行を除外できます。

補足:「!=」演算子との違い

MySQLでは「<>」と同じ意味を持つ「!=」演算子も利用できます。どちらを使っても動作は同じですが、ANSI SQL標準に準拠しているのは「<>」の方です。可搬性を重視する場合は「<>」の使用をおすすめします。

  1. MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方

    MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ

  2. PythonでMySQLのテーブルから全データを取得する方法を解説

    MySQLのテーブルは、行(レコード)と列(フィールド)で構成されています。列はデータの項目(フィールド)を定義し、行は実際のデータレコードを表します。テーブルに格納されたデータは、利用するために取得する必要があります。場合によっては、テーブルからすべてのデータを一度に取得したいこともあるでしょう。テーブルからすべての行を取得するには、SELECT * ステートメントを使用します。基本構文SELECT * FROM テーブル名上記の構文における「*」は、テーブルからすべての行を取得することを意味しています。PythonでMySQLを使ってテーブルの全データを取得する手順MySQLコネクタをイン