1. 简介
在SQL查询中,WHERE子句用于筛选符合特定条件的记录。WHERE子句可以包含一个或多个条件,这些条件可以使用运算符(如等于、大于等)和逻辑操作符(如AND、OR)进行组合。
2. 基础语法
WHERE子句通常出现在SELECT、UPDATE或DELETE语句中的FROM子句之后,语法如下:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
其中,column1, column2表示需要查询的列名,table_name表示需要查询的表名,condition表示需要筛选的条件。可以使用各种操作符组合条件,例如:
SELECT *
FROM employees
WHERE age > 30 AND gender = 'F';
该语句将查询表"employees"中所有性别为女性且年龄大于30岁的记录。
3. 操作符
3.1 等于操作符
等于操作符(=)用于比较文本、数字和日期类型的数据,例如:
SELECT *
FROM customers
WHERE city = 'New York';
该语句将查询表"customers"中所有城市为"New York"的记录。
3.2 大于/小于操作符
">"和"<"操作符可用于比较数字和日期类型的数据。
SELECT *
FROM orders
WHERE total >= 1000;
该语句将查询表"orders"中所有总金额大于等于1000的记录。
3.3 BETWEEN操作符
BETWEEN操作符用于筛选在指定范围内的值,格式如下:
SELECT *
FROM products
WHERE price BETWEEN 10 AND 20;
该语句将查询表"products"中所有价格在10和20之间的记录。
3.4 LIKE操作符
LIKE操作符用于筛选具有特定格式的文本值,可以使用百分号(%)表示任意字符。
SELECT *
FROM customers
WHERE last_name LIKE 'S%';
该语句将查询表"customers"中所有姓以S开头的记录。
3.5 IN操作符
IN操作符用于筛选与指定值匹配的记录。可以使用逗号分隔多个值。
SELECT *
FROM customers
WHERE country IN ('USA', 'Canada', 'Mexico');
该语句将查询表"customers"中所有居住在美国、加拿大、墨西哥的记录。
3.6 IS NULL操作符
IS NULL操作符用于筛选值为NULL的记录。
SELECT *
FROM orders
WHERE comments IS NULL;
该语句将查询表"orders"中所有评论为空的记录。
4. 逻辑操作符
4.1 AND操作符
AND操作符用于组合多个条件,要求所有条件都必须满足。
SELECT *
FROM inventory
WHERE quantity > 0 AND price < 100;
该语句将查询表"inventory"中所有库存大于0且价格低于100的记录。
4.2 OR操作符
OR操作符用于组合多个条件,只要有一个条件满足即可。
SELECT *
FROM employees
WHERE title = 'Manager' OR title = 'Director';
该语句将查询表"employees"中所有职位为"Manager"或"Director"的记录。
4.3 NOT操作符
NOT操作符用于取反条件。
SELECT *
FROM customers
WHERE NOT country = 'USA';
该语句将查询表"customers"中所有居住不在美国的记录。
5. 结论
WHERE子句在SQL查询中非常重要,可以帮助我们筛选数据并获得所需的结果。在使用WHERE子句时,需要注意各种操作符的使用规则,并且根据需要组合条件和逻辑操作符。