MySQL WHERE 子句

MySQL WHERE 子句

WHERE 子句用于过滤记录。

WHERE 子句用于仅提取那些满足特定条件的记录。

以下 SQL 选取所有来自 Mexico 的客户:

实例

SELECT * FROM Customers
WHERE Country = 'Mexico';

亲自试一试

WHERE 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;

注意:WHERE 子句不仅用于 SELECT 语句,也用于 UPDATEDELETE 等语句中。

演示数据库

以下是 Northwind 演示数据库中 Customers 表的选择的部分片段:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

文本字段与数值字段

SQL 要求在文本值周围加上单引号(大多数数据库系统也允许使用双引号)。

但是,数值字段不应加引号:

实例

SELECT * FROM Customers
WHERE CustomerID = 1;

亲自试一试

WHERE 子句中的运算符

除了 = 运算符,你还可以使用其他运算符来过滤搜索。

实例

选取所有 CustomerID 大于 80 的客户:

SELECT * FROM Customers
WHERE CustomerID > 80;

亲自试一试

以下运算符可用于 WHERE 子句:

运算符 描述 例子
= 等于 试一试
> 大于 试一试
< 少于 试一试
>= 大于或等于 试一试
<= 小于或等于 试一试
<> 不相等。注意:在某些版本的 SQL 中,此运算符可能会写为 !=。 试一试
BETWEEN 在一定范围内。 试一试
LIKE 搜索模式 试一试
IN 为列指定多个可能的值。 试一试