WHERE语句
WHERE子句用于SQL语句中(SELECT、UPDATE、DELETE等)过滤记录。它允许您提取满足指定条件的记录。
WHERE子句的基本语法为:
WHERE condition1 [AND [OR]] condition2 ...
WHERE子句支持的条件类型有:
- 列比较:
大于
< 小于
= 大于等于
<= 小于等于
= 等于
<> 不等于
BETWEEN ... AND ... 在某个范围内
IN(set) 在集合内
LIKE ‘pattern’ 类似
- 逻辑运算:
AND 且,两个条件都成立
OR 或,任意一个条件成立
NOT 非,条件不成立
- 聚合函数:
SUM() 总和
AVG() 平均值
MAX() 最大值
MIN() 最小值
COUNT() 计数
- NULL判断:
IS NULL
IS NOT NULL
- 约束判断:
父表中的记录是否存在子表中
示例:
SELECT * FROM employees
WHERE salary > 5000 AND department_id = 10;
SELECT * FROM employees
WHERE hire_date BETWEEN '01-JAN-1990' AND '31-DEC-1999';
SELECT * FROM employees
WHERE commission_pct IN (0.1, 0.2, 0.3);
SELECT * FROM employees
WHERE first_name LIKE '%am%';
SELECT * FROM employees
WHERE manager_id IS NULL;
SELECT * FROM employees e
WHERE EXISTS (SELECT * FROM departments d
WHERE d.department_id = e.department_id);
WHERE子句用于过滤记录,对查询和DML语句起着至关重要的作用。合理地使用WHERE子句可以选取符合条件的记录,改善语句的性能和准确度。
要熟练使用WHERE子句,需要理解:
-
支持的比较运算符和逻辑运算符
-
NULL值的判断方式
-
聚合函数的使用
-
子查询的应用
-
各种条件之间的组合逻辑
WHERE子句简单易用,但要写好WHERE子句并不容易。这需要对相关语法和概念有比较深入的理解,同时也需要在实践中不断练习和使用,通过不同的语句案例以熟练掌握WHERE子句的运用技巧。
熟练使用WHERE子句,才能真正发挥SQL语句的威力,写出高性能和高精度的查询和DML语句。WHERE子句作为SQL语句的重要组成部分,是开发人员和DBA必须要熟练掌握的技能之一。