MySQL IN 操作符
IN 操作符允许您在 WHERE 子句中指定多个值。
IN 操作符是多个 OR 条件的简写形式
IN 语法
one
1 | SELECT column_name(s) |
two
1 | SELECT column_name(s) |
示例1:
1 | SELECT * FROM Customers |
从客户表中筛选出国家字段值为”德国”、”法国”或”英国”的所有客户记录
IN
操作符用于指定多个可能的匹配值
也可以使用 NOT IT
操作符: 用于排除指定的多个值
在此示例中使用,则:从客户表中筛选出国家字段值不为”德国”、”法国”或”英国”的所有客户记录
本节知识难度点
1 | SELECT * FROM Customers |
这个SQL语句是用来查找那些”客户所在国家”与”供应商所在国家”相同的所有客户记录:
通俗解释:
想象你有两张表格:
- 客户表(Customers) - 记录所有客户的信息,包括他们来自哪个国家
- 供应商表(Suppliers) - 记录所有供应商的信息,包括他们来自哪个国家
这个SQL语句的意思是:找出那些客户,他们所在的国家至少有一个供应商也在那个国家。
实际例子
假设数据:
供应商表(Suppliers)数据:
SupplierID | SupplierName | Country |
---|---|---|
1 | 苹果公司 | 美国 |
2 | 三星电子 | 韩国 |
3 | 西门子 | 德国 |
客户表(Customers)数据:
CustomerID | CustomerName | Country |
---|---|---|
101 | 张先生 | 中国 |
102 | 李女士 | 美国 |
103 | 王经理 | 德国 |
104 | 赵总 | 日本 |
执行
1 | SELECT * FROM Customers |
这个查询之后,结果有:
CustomerID | CustomerName | Country | |
---|---|---|---|
102 | 李女士 | 美国 | (因为苹果公司在美国) |
103 | 王经理 | 德国 | (因为西门子在德国) |