SQL WHERE 子句


 WHERE 子句用于过滤记录。

 WHERE 子句用于提取满足指定标准的记录。 

SQL WHERE 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;
注意: WHERE子句不仅用于SELECT语法,还用于UPDATE,DELETE语法等!

 WHERE子句可以与以下类型的SQL语句一起使用:

  • UPDATE
  • DELETE

 UPDATE语句:

UPDATE "table_name"
SET "column_1" = [new value]
WHERE "condition";

 DELETE语句:

DELETE FROM "table_name"
WHERE "condition";

 

演示数据库


 在本教程中,我们将使用著名的Northwind示例数据库。
 以下是 "Customers" 表中的数据:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

 

WHERE 子句实例


 以下SQL语句从"Customers"表中选择其国家为"Mexico"的所有客户:

实例

SELECT * FROM Customers
WHERE Country='Mexico';

 你也可以使用OR运算符的查询子句:

实例

SELECT * FROM Customers
WHERE Country='Mexico' OR PostalCode='05021';

 

文本字段与数值字段


 SQL在文本值周围使用单引号(大多数数据库系统也接受双引号)。

 如果是数值字段,则不要使用引号。

实例

SELECT * FROM Customers
WHERE CustomerID=1;

 

WHERE 子句中的运算符


 WHERE子句中可以使用以下运算符:

运算符描述
=等于
<>不等于。 注意:在某些版本的SQL中,这个操作符可能写成!=
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式
IN为列指定多个可能的值

 

更多推荐

SQL WHERE Clause(查询子句)