SQL 基础教程

SQL 高级教程

SQL 函数

SQL 笔记

SQL WHERE 子句用法


SQL WHERE 子句用于在从单个表或多个联表(join)获取数据时指定条件所用。使用 WHERE 子句来过滤记录并仅获取必要的记录。值得注意的是,WHERE 子句不仅在 SELECT 语句中使用,还可以在 UPDATEDELETE 语句中使用。

WHERE 语句

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

SELECT WHERE 语法

SELECT column_name1, column_name2, ...
FROM table_name
WHERE column_name operator value;

其中 operator 是逻辑运算符。

WHERE operator

WHERE 子句的逻辑运算符如下:

运算符 描述
= 等于。
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于。
< 小于。
>= 大于等于。
<= 小于等于。
BETWEEN ... AND ... 在某个范围内。
LIKE 模糊匹配模式。
IN 指定针对某个列的多个可能值。
IS = 类似,它更多是一种属性,此外,判断某个字段值是 NULL 时,条件为 IS NULL
NOT 条件的否定,常和 BETWEENLIKEINIS 等搭配使用。

文本字段 vs 数值字段

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

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

文本字段 WHERE 条件示例如下:

SELECT * FROM user WHERE name = 'knowledgedict';

数值字段 WHERE 条件示例如下:

SELECT * FROM user WHERE id = 188;

示例

从薪水大于 2000 的 CUSTOMERS 表中获取 ID,名称和薪水字段示例如下:

SQL> SELECT id, name, salary FROM customers WHERE salary > 2000;

输出如下:

+----+----------+----------+
| id | name     | salary   |
+----+----------+----------+
|  4 | Chaitali |  6500.00 |
|  5 | Hardik   |  8500.00 |
|  6 | Komal    |  4500.00 |
|  7 | Muffy    | 10000.00 |
+----+----------+----------+