ホームページ  >  記事  >  データベース  >  MySQL の IN 関数を使用して、特定の値を持つレコードをフィルタリングする

MySQL の IN 関数を使用して、特定の値を持つレコードをフィルタリングする

PHPz
PHPzオリジナル
2023-07-25 13:48:181350ブラウズ

MySQL の IN 関数を使用して、特定の値を持つレコードをフィルタリングする

MySQL では、IN 関数は、特定の値の条件を満たすレコードをフィルタリングするために使用できる非常に強力なツールです。 IN 関数は、複数のパラメータ値を結合し、SELECT ステートメントの WHERE 句で使用して、それらの特定の値を含むレコードをデータベースから選択できます。

学生に関する基本情報を格納する「students」という名前のテーブルがあるとします。このテーブルに含まれるフィールドは、学生 ID、名前、年齢、性別、クラスなどです。ここで、特定のクラスに属する学生に関する情報をフィルターに掛けて除外したいと思います。このとき、IN 関数を使用すると、このタスクを簡単に完了できます。

まず、「students」という名前のテーブルを作成し、いくつかのサンプル データを挿入しましょう:

CREATE TABLE students (
  stu_id INT PRIMARY KEY,
  name VARCHAR(100),
  age INT,
  gender VARCHAR(10),
  class_id INT
);

INSERT INTO students (stu_id, name, age, gender, class_id)
VALUES 
  (1, '张三', 18, '男', 1),
  (2, '李四', 19, '女', 2),
  (3, '王五', 20, '男', 1),
  (4, '赵六', 21, '女', 3),
  (5, '钱七', 19, '男', 2),
  (6, '孙八', 20, '女', 2);

ここで、IN 関数を使用して、クラス 1 とクラスに属する学生をフィルタリングできます。 2 学生向け情報:

SELECT * FROM students
WHERE class_id IN (1, 2);

上記の SQL ステートメントでは、IN 関数のパラメータは特定のクラス番号、つまり「1, 2」を含むリストです。これは、クラス 1 とクラス 2 に属する生徒に関する情報を選択することを意味します。上記の SQL ステートメントを実行すると、次の結果が得られます。

+--------+---------+-----+--------+----------+
| stu_id |  name   | age | gender | class_id |
+--------+---------+-----+--------+----------+
|      1 | 张三    |  18 | 男      |        1 |
|      2 | 李四    |  19 | 女      |        2 |
|      3 | 王五    |  20 | 男      |        1 |
|      5 | 钱七    |  19 | 男      |        2 |
|      6 | 孙八    |  20 | 女      |        2 |
+--------+---------+-----+--------+----------+

ご覧のとおり、クラス 1 とクラス 2 に属する生徒情報のみがフィルターで除外されています。

IN 関数は、特定の値をパラメーターとして使用するだけでなく、サブクエリをパラメーターとして受け入れることもできます。たとえば、サブクエリを使用して、特定のクラスの生徒情報をクエリできます。

SELECT * FROM students
WHERE class_id IN (SELECT class_id FROM classes WHERE class_name = '一班');

上記の SQL ステートメントでは、サブクエリ (SELECT class_id FROM drivers WHERE class_name = 'Class 1') クラス番号はクラス名「クラス1」となり、そのクラス番号をパラメータとしてIN関数に渡し、「クラス1」に属する生徒情報を絞り込みます。

IN 関数の柔軟な適用により、特定の値の条件を満たすデータベース内のレコードを簡単に除外できます。パラメーターを直接指定する場合でも、サブクエリを通じてパラメーターを取得する場合でも、IN 関数は必要な情報を取得するのに役立ちます。データベース内の特定の値をフィルターする必要がある場合、IN 関数を使用してクエリ操作を簡素化し、効率を向上させることができます。

要約すると、この記事では、MySQL の IN 関数を使用して特定の値を持つレコードをフィルターする方法を紹介します。サンプルコードのデモを通じて、複数のパラメータ値を組み合わせて特定の値をフィルタリングできる IN 関数の基本的な使用法を理解します。 IN 関数を適用すると、クエリ操作が簡素化されるだけでなく、データベース操作の効率も向上します。データ クエリに MySQL を使用する場合は、IN 関数を使用して特定の値をフィルタリングすることを検討できます。

以上がMySQL の IN 関数を使用して、特定の値を持つレコードをフィルタリングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。