Skip to content

SQL WHERE 子句


WHERE 子句用于过滤记录。

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

SQL WHERE 语法

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

注意: WHERE子句不仅用于SELECT语法,还用于UPDATE,DELETE语法等!

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

  • UPDATE
  • DELETE

UPDATE语句:

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

DELETE语句:

sql
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(查询子句)"的掌握程度吧!

SQL WHERE语句:在本部分测验中,您将练习使用 WHERE 语句的基础语法,以及如何在 WHERE 子句中使用 SQL 运算符。

**注:**以上测试为付费测试,高级VIP免费

更多测试题请参考: