首页 > 技术文章 > 5.MySQL必知必会之过滤数据-WHERE

chenshufang 2018-05-30 13:56 原文

本章将讲授如何使用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匹配。

推荐阅读