以下是 IN
和 NOT IN
在 SQL 条件查询中的详细说明,涵盖语法、应用场景、性能陷阱及替代方案:
🔍 一、核心作用
运算符 | 功能 | 等价逻辑 |
---|---|---|
IN | 判断值是否在指定集合内 | 多重 OR 的简写形式 |
NOT IN | 判断值是否不在指定集合内 | 多重 AND != 的简写形式 |
📜 二、基础语法
-- IN 用法
SELECT * FROM 表
WHERE 列 IN (值1, 值2, ..., 值N);-- NOT IN 用法
SELECT * FROM 表
WHERE 列 NOT IN (值1, 值2, ..., 值N);
示例数据表 products
id | name | category | price |
---|---|---|---|
1 | iPhone 15 | Phone | 7999 |
2 | Galaxy S24 | Phone | 6999 |
3 | MacBook Pro | Laptop | 12999 |
4 | iPad Air | Tablet | 4999 |
✅ 三、典型使用场景
1. IN
查询:多值匹配
-- 查询手机和平板产品
SELECT * FROM products
WHERE category IN ('Phone', 'Tablet')