本章将讲授如何使用SELECT语句的WHERE子句指定搜索条件。
1.使用WHERE子句
数据库表一般包含大量的数据,很少需要检索表中所有行。通常只 会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要 指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。
在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。 WHERE子句在表名(FROM子句)之后给出,如下所示:
输入:
SELECT prod_name ,prod_price
FROM products
WHERE prod_price = 2.50
输出:
prod_name | prod_price |
---|---|
Carrots | 2.50 |
TNT(1 stick) | 2.50 |
分析: 这条语句从products表中检索两个列,但不返回所有行,只返回prod_prce值为2.50的行。
WHERE子句的位置
在同时使用 ORFER BY和WHERE子句时,应该让ORDER BY位于WHERE之后,否则将会产生错误。
2.WHERE 子句操作符
WHERE 子句操作符对照表
操作符 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
|大于
=|大于等于
BETWEEN|在指定的两个值之间
2.1 检查单个值
我们已经看到了测试相等的例子。再来看一个类似的例子:
输入:
SELECT prod_name , prod_price
FROM products
WHERE prod_name = 'fuses'
输出:
prod_name | prod_price |
---|---|
Fuses | 3.42 |
分析: 检查WHERE prod_name='fuses'语句,它返回prod_name的值为Fuses的一行。MySQL在执行匹配时默认不区分大小写,所以fuses与Fuses匹配。