MySQL の WHERE IN ステートメント
Preet Sanghavi
2022年3月29日
このチュートリアルでは、MySQL で WHERE IN
句を使用する方法を探ることを目的としています。
MySQL にはさまざまなデータフィルタリング手法があります。IF ELSE
、CASE
、および 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_id
が 3
未満の学生のレコードのみを取得します。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_id
が 1
、2
、または 3
のレコードを必要な場合にのみフェッチします。
WHERE IN
手法の代わりに、CASE WHEN
ステートメントがあります。WHERE IN
句の代わりに、IF ELSE
ストアドプロシージャを使用することもできます。
したがって、IN
を含む WHERE
ステートメントを使用すると、MySQL のエントリの可用性条件に基づいてデータを効率的にフィルタリングできます。
著者: Preet Sanghavi