MySQL 中的 WHERE IN 語句

Preet Sanghavi 2022年5月13日
MySQL 中的 WHERE IN 語句

在本教程中,我們旨在探索如何在 MySQL 中使用 WHERE IN 子句。

MySQL 中有許多不同的資料過濾技術。IF ELSECASEWHERE 語句就是這樣的示例。讓我們探索本文中 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_id123 的記錄。

WHERE IN 技術的替代方法是 CASE WHEN 語句。IF ELSE 儲存過程也可以用來代替 WHERE IN 子句。

因此,在帶有 INWHERE 語句的幫助下,我們可以根據 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