MySQL 中的 WHERE IN 語句
Preet Sanghavi
2022年5月13日
在本教程中,我們旨在探索如何在 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
語句。IF ELSE
儲存過程也可以用來代替 WHERE IN
子句。
因此,在帶有 IN
的 WHERE
語句的幫助下,我們可以根據 MySQL 中的任何條目可用性條件有效地過濾資料。
作者: Preet Sanghavi