推荐答案
SELECT * FROM employees WHERE (department = 'Sales' AND salary > 50000) OR (department = 'Engineering' AND NOT salary < 70000);
本题详细解读
AND 运算符
AND
运算符用于组合多个条件,只有当所有条件都为真时,整个表达式才为真。例如:
SELECT * FROM employees WHERE department = 'Sales' AND salary > 50000;
这条查询语句将返回所有在 Sales
部门且工资大于 50000
的员工。
OR 运算符
OR
运算符用于组合多个条件,只要有一个条件为真,整个表达式就为真。例如:
SELECT * FROM employees WHERE department = 'Sales' OR department = 'Engineering';
这条查询语句将返回所有在 Sales
部门或 Engineering
部门的员工。
NOT 运算符
NOT
运算符用于否定一个条件,如果条件为假,则整个表达式为真。例如:
SELECT * FROM employees WHERE NOT department = 'HR';
这条查询语句将返回所有不在 HR
部门的员工。
组合使用 AND, OR, NOT
在实际查询中,我们经常需要组合使用这些运算符来构建复杂的条件。例如:
SELECT * FROM employees WHERE (department = 'Sales' AND salary > 50000) OR (department = 'Engineering' AND NOT salary < 70000);
这条查询语句将返回所有在 Sales
部门且工资大于 50000
的员工,或者在 Engineering
部门且工资不小于 70000
的员工。
注意事项
- 使用括号
()
来明确条件的优先级,避免逻辑错误。 AND
的优先级高于OR
,因此在组合使用时,建议使用括号来明确逻辑关系。