SQL WHERE 子句

WHERE 子句用于过滤记录。

SQL WHERE 子句

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

SQL WHERE 语法

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

pangugle_news_category 表样本数据

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin
2 盘古歌 盘古歌技术 2020-09-16 18:12:31 admin
3 Google 谷歌公司 2020-09-16 18:12:56 u1
4 阿里巴巴 阿里巴巴公司 2020-09-16 18:13:20 u1
5 qq 腾讯公司 2020-09-16 18:13:36 u1

WHERE 子句实例

下面的 SQL 语句从 "pangugle_news_category" 表中选取审核管理为 "admin" 的所有数据:

  • 文本查询参数需要用单引号
SELECT * FROM pangugle_news_category WHERE category_admin='admin';

执行输出结果:

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin
2 盘古歌 盘古歌技术 2020-09-16 18:12:31 admin

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

在上个实例中 'admin' 文本字段使用了单引号。

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

  • 数字查询可不要单引号
SELECT * FROM pangugle_news_category  WHERE category_id=1;

执行输出结果:

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin

WHERE 子句中的运算符

下面的运算符可以在 WHERE 子句中使用

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