WHERE 子句用于过滤记录。
SQL WHERE 子句
WHERE 子句用于提取那些满足指定条件的记录。
SQL WHERE 语法
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
WHERE 子句示例
在猿变手册教程中,我们将使用 yuanbian 样本数据库。
articles表数据示例
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+----------+--------+---------------------+
| 1 | hadoop简介 | 大猿 | 311 | 2003-01-05 11:23:00 |
| 2 | python元类 | 小猿 | 163 | 2003-01-11 13:00:01 |
| 3 | HTML基础 | 猿大头 | 497 | 2004-03-09 12:00:00 |
| 4 | JavaScript | 猿媛 | 20 | 2005-11-3 17:34:12 |
| 5 | ETL快速入门 | 猿媛 | 3 | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+
where 子句筛选示例
下面的 SQL WHERE 子句 从 "articles" 表中选取author为 "猿媛" 的所有网站:
SELECT * FROM articles WHERE author='猿媛';
执行输出结果:
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+----------+--------+---------------------+
| 4 | JavaScript | 猿媛 | 20 | 2005-11-3 17:34:12 |
| 5 | ETL快速入门 | 猿媛 | 3 | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+
文本字段 vs. 数值字段
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
在上个实例中 'CN' 文本字段使用了单引号。
如果是数值字段,请不要使用引号。
数值字段实例
SELECT * FROM Websites WHERE id=1;
执行输出结果:
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+---------+--------+----------------------+
| 1 | hadoop简介 | 大猿 | 311 | 2003-01-05 11:23:00 |
+----+--------------+----------+--------+---------------------+
WHERE 运算符
下面的运算符可以在 WHERE 子句中使用:
运算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
IN | 指定针对某个列的多个可能值 |
讨论区