MySQL IN 运算符用于限制 SELECT 语句返回的总行数。IN 运算符会检查给定的表达式是否与其中包含的值匹配。如果至少有一个匹配项,则 SELECT 语句将返回记录。
请使用 IN 运算符将表达式或条件与多个值进行比较,其基本语法如下:
SELECT [Column Names]
FROM [Source]
WHERE [Column_Name] IN (Value1,...., ValueN)
-- Use OR to write the above statement
SELECT [Column Names]
FROM [Source]
WHERE [Column_Name] = Value1 OR [Column_Name] = ValueN
在此 IN 运算符示例中,我们使用了如下数据。

MySQL IN 运算符示例
在此示例中,我们使用此运算符检查数值。
SELECT 3 IN (1, 2, 3, 4, 5);
SELECT 6 IN (1, 2, 3, 4, 5);
SELECT 3.5 IN (1, 2, 3, 4, 5);

我将使用 in 运算符检查字符串数据。在第三条语句中,我们使用了混合值。在实际情况中,这可能会产生奇怪的结果,因此请始终在此处使用单一数据类型。
SELECT 'abc' IN ('xyz', 'hi', 'abc', 'ab');
SELECT 'a' IN ('xyz', 'hi', 'abc', 'ab');
SELECT 4 IN (1, 3, 4, '5');

与使用混合值相反,我们必须使用任何单一的 MySQL 类型。因此,SELECT 语句将给出准确的结果。
SELECT 4 IN ('1',' 3', '4', '5');
SELECT (10, 20) IN ((1,2), (10, 20), (100, 200));
SELECT 3 IN (1, 3, NULL, 4);

MySQL IN 运算符的实际示例
以下查询查找收入为 80000 或 90000 的客户
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Income IN (80000, 90000);

为了更好地理解,我将向您展示另一个示例。以下查询返回收入为 50000、80000 或 90000 的客户
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Income IN (50000, 80000, 90000);

字符串列上的 IN 运算符示例
这次,我们使用的是字符串数据。以下查询查找学历为学士学位或硕士学位的客户。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Qualification IN ('Bachelors', 'Masters Degree');

IN 运算符和 ORDER BY 子句
您还可以将 ORDER BY 子句与此一起使用。此查询返回学历为学士、硕士或教育的客户。接下来,ORDER BY 子句根据收入按升序对结果进行排序。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Qualification IN ('Bachelors', 'Masters Degree', 'Education')
ORDER BY Income;
