SQL AND & OR 运算符

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

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

AND 运算符实例

下面的 SQL 语句从 "pangugle_news_category " 表中选取审核管理员为 "u1" 且category_id排名大于 3 的所有数据:

  • 实例
SELECT * FROM pangugle_news_category
WHERE category_admin='u1'
AND category_id > 3;

执行输出结果:

category_id category_title category_desc category_createtime category_admin
4 阿里巴巴 阿里巴巴公司 2020-09-16 18:13:20 u1
5 qq 腾讯公司 2020-09-16 18:13:36 u1

OR 运算符实例 下面的 SQL 语句从 "Websites" 表中选取国家为 "USA" 或者 "CN" 的所有客户:

  • 实例
SELECT * FROM pangugle_news_category
WHERE category_id=1
OR category_id=3;

执行输出结果:

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin
3 Google 谷歌公司 2020-09-16 18:12:56 u1

结合 AND & OR

您也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式)。

下面的 SQL 语句从 "pangugle_news_category" 表中选取 category_id 排名大于 "1" 且审核管理员为 "u1" 或 "USA" 的所有网站:

  • 实例
SELECT * FROM pangugle_news_category
WHERE category_admin = 'u1'
AND (category_id=3 OR category_id=5);

执行输出结果:

category_id category_title category_desc category_createtime category_admin
3 Google 谷歌公司 2020-09-16 18:12:56 u1
5 qq 腾讯公司 2020-09-16 18:13:36 u1