SQL AND OR 运算符


and 和 or 运算符用于查询符合一个以上条件的数据库记录。

and 运算符表示同时符合两个条件的记录。

or 运算符表示符合其中任何一个条件的记录。

样本数据库

在本教程中,我们将使用 yapf 样本数据库。

下面是选自 "websites" 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | google       | https://www.google.cm/    | 1     | usa     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | cn      |
| 3  | 硕编程      | http://www.yapf.com/  | 4689  | cn      |
| 4  | 微博          | http://weibo.com/         | 20    | cn      |
| 5  | facebook     | https://www.facebook.com/ | 3     | usa     |
+----+--------------+---------------------------+-------+---------+

 

1. and 运算符范例

下面的 sql 语句从 "websites" 表中选取国家为 "cn" 且alexa排名大于 "50" 的所有网站:

select * from websites where country='cn' 	and alexa > 50;

执行结果
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 3  | 硕编程      | http://www.yapf.com/  | 4689 | cn      |
+----+--------------+---------------------------+-------+---------+

 

2. or 运算符范例

下面的 sql 语句从 "websites" 表中选取国家为 "usa" 或者 "cn" 的所有客户:

select * from websites where country='usa' or country='cn';

执行结果
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | google       | https://www.google.cm/    | 1     | usa     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | cn      |
| 3  | 硕编程      | http://www.yapf.com/  | 4689  | cn      |
| 4  | 微博          | http://weibo.com/         | 20    | cn      |
| 5  | facebook     | https://www.facebook.com/ | 3     | usa     |
+----+--------------+---------------------------+-------+---------+

 

3. and 和 or 混合使用范例

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

下面的 sql 语句从 "websites" 表中选取 alexa 排名大于 "15" 且国家为 "cn" 或 "usa" 的所有网站:

select * from websites
where alexa > 15 and (country='cn' or country='usa');

执行结果:
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 3  | 硕编程      | http://www.yapf.com/  | 4689  | cn      |
| 4  | 微博          | http://weibo.com/         | 20    | cn      |
+----+--------------+---------------------------+-------+---------+

下一节:sql order by 关键字

sql 教程

相关文章