使用WHERE子句结合AND、OR、NOT及括号可实现SQL多条件筛选:1. 用AND连接需同时满足的条件,如年龄>30且城市为北京;2. 用OR匹配任一条件,如职位为经理或薪资>8000;3. 混用时加括号明确优先级,如(城市为北京或上海)且年龄>25;4. 用NOT排除特定情况,如非实习生且状态未注销。合理组合可精准高效查询数据。
在 SQL 中实现条件筛选组合,主要依靠 WHERE 子句配合逻辑运算符来完成。通过合理使用 AND、OR 和 NOT,可以灵活地组合多个筛选条件,精确获取所需数据。
使用 AND 组合多个条件
当需要同时满足多个条件时,使用 AND 连接。只有所有条件都为真,记录才会被选中。
例如,查询年龄大于 30 且所在城市为“北京”的员工:
SELECT * FROM employees WHERE age > 30 AND city = ‘北京’;
使用 OR 满足任一条件
如果只需满足其中一个条件即可,使用 OR。只要任意一个条件成立,记录就会被返回。
比如,查找职位是“经理”或薪资高于 8000 的员工:
SELECT * FROM employees WHERE position = ‘经理’ OR salary > 8000;
结合括号控制优先级
当 AND 和 OR 混用时,建议使用括号明确逻辑顺序,避免歧义。
例如,筛选(在北京或上海)且年龄大于 25 的员工:
SELECT * FROM employees WHERE (city = ‘北京’ OR city = ‘上海’) AND age > 25;
使用 NOT 排除特定条件
NOT 用于取反某个条件。常用于排除不符合要求的数据。
如:查询非“实习生”且状态未注销的用户:
SELECT * FROM users WHERE NOT position = ‘实习生’ AND status != ‘disabled’;
基本上就这些。掌握好逻辑运算符和括号的搭配,就能高效实现复杂的条件筛选组合。注意书写清晰,避免因优先级问题导致结果偏差。