MySQL の WHERE IN ステートメント

Preet Sanghavi 2022年3月29日
MySQL の WHERE IN ステートメント

このチュートリアルでは、MySQL で WHERE IN 句を使用する方法を探ることを目的としています。

MySQL にはさまざまなデータフィルタリング手法があります。IF ELSECASE、および WHERE ステートメントはこの例です。この記事の WHERE IN 句の実装の詳細を調べてみましょう。

WHERE IN 句は、データフィルタリングの特定の条件を設定するのに役立ちます。これは、列名と値が検出されるセットを取り込みます。クエリの IN 部分は、定義されたセット内の値を探すのに役立ちます。

この方法がどのように機能するかを理解しましょう。始める前に、テーブル student_details といくつかの行を作成して、ダミーのデータセットを作成する必要があります。

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

データのエントリを表示するには、次のコードを使用します。

SELECT * FROM student_details;

出力:

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

MySQL の WHERE IN ステートメント

WHERE IN テクニックの基本的な構文は次のとおりです。

SELECT * FROM name_of_the_table WHERE column_name IN <set_condition>;

student_details テーブルから学生をフィルタリングしてみましょう。

stu_id3 未満の学生のレコードのみを取得します。WHERE IN 句を使用すると、次のクエリを使用してこの操作を実行できます。

SELECT * FROM student_details WHERE stu_id IN (1,2,3);

出力:

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow

上記のブロックのコードに示されているように、stu_id12、または 3 のレコードを必要な場合にのみフェッチします。

WHERE IN 手法の代わりに、CASE WHEN ステートメントがあります。WHERE IN 句の代わりに、IF ELSE ストアドプロシージャを使用することもできます。

したがって、IN を含む WHERE ステートメントを使用すると、MySQL のエントリの可用性条件に基づいてデータを効率的にフィルタリングできます。

著者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub