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

MySQLテーブルからIN()を使って行を選択・表示する方法

MySQLでは、IN()演算子を使うことで、指定した複数の値に一致する行を簡単に抽出できます。この記事では、実際にテーブルを作成し、IN()を使って特定の行を選択・表示する手順を解説します。

1. テーブルの作成

まず、サンプルとなるテーブルを作成します。

mysql> create table DemoTable778 (
   ClientId varchar(100),
   ClientName varchar(100)
);
Query OK, 0 rows affected (1.05 sec)

ここでは、顧客ID(ClientId)と顧客名(ClientName)の2つのカラムを持つテーブル「DemoTable778」を作成しました。

2. レコードの挿入

次に、INSERTコマンドを使ってテーブルにレコードを挿入します。

mysql> insert into DemoTable778 values('J-101','John');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable778 values('A-102','Adam');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable778 values('C-103','Chris');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable778 values('D-104','David');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable778 values('R-105','Robert');
Query OK, 1 row affected (0.41 sec)

3. すべてのレコードを表示する

SELECT文を使って、テーブル内のすべてのレコードを確認してみましょう。

mysql> select *from DemoTable778;

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

+----------+------------+
| ClientId | ClientName |
+----------+------------+
| J-101    | John       |
| A-102    | Adam       |
| C-103    | Chris      |
| D-104    | David      |
| R-105    | Robert     |
+----------+------------+
5 rows in set (0.00 sec)

5件のレコードが正しく登録されていることがわかります。

4. IN()を使って行を選択する

それでは本題のIN()演算子を使ってみましょう。IN()は、WHERE句と組み合わせて使用し、括弧内にカンマ区切りで列挙した値のいずれかに一致する行だけを取得します。

mysql> select *from DemoTable778 where ClientId IN('J-101','A-102','C-103','D-104','R-105');

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

+----------+------------+
| ClientId | ClientName |
+----------+------------+
| J-101    | John       |
| A-102    | Adam       |
| C-103    | Chris      |
| D-104    | David      |
| R-105    | Robert     |
+----------+------------+
5 rows in set (0.00 sec)

ClientIdが「J-101」「A-102」「C-103」「D-104」「R-105」のいずれかに一致する5件のレコードが表示されました。

IN()のポイント

  • IN()は「OR条件」を簡潔に記述できる便利な演算子です。例えば、「ClientId = 'J-101' OR ClientId = 'A-102' OR ...」と書く代わりに、IN()を使えば1行で済みます。
  • リスト内に一致する値がない場合、結果は空(0件)になります。
  • 大量の値を指定する場合は、サブクエリと組み合わせるとより柔軟な検索が可能です。

このように、IN()演算子を使えば、複数の条件に一致する行をシンプルかつ効率的に取得することができます。ぜひ実際の開発でも活用してみてください。

  1. MySQLでテーブルの最後の10件のレコードを取得する方法

    MySQLでテーブルの末尾にある10行(最新の10件)を取得したい場合は、SELECT文とLIMIT句を組み合わせたサブクエリを利用します。この記事では、実際にテーブルを作成し、データを挿入しながら、最後の10件を取得するクエリの手順を具体的に解説します。 1. サンプルテーブルの作成 まず、動作確認用のテーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected

  2. Javaを使用してMySQLテーブルの値を表示する方法

    MySQLデータベースのテーブル値をJavaで表示するには、ResultSetの概念を利用します。データベースへの接続には、MySQL JDBCドライバーを使用します。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table demo87    -> (    -> name varchar(20),    -> age int    -> )