SQL AND和OR运算符

1年前 (2024-04-28)

SQL 中的 AND 和 OR 运算符用来连接多个查询条件,以缩小返回的结果集,它们被称为连接符。

AND 运算符

AND 运算符用于连接 WHERE 子句中的多个查询条件,只有当这些查询条件都被满足时,数据行(记录)才会被选取。

语法

WHERE 子句中 AND 运算符的基本语法如下:

SELECT column1, column2, columnN
FROM table_name

WHERE [condition1] AND [condition2]...AND [conditionN];

您可以使用 AND 运算符连接 N 个条件,只有当这些条件都被满足时,SQL 语句才会奏效。

示例

例如有如下的 website 表:

+----+----------------+----------------------------+-----+-------+---------+---------+

| id | name | url | age | alexa | uv | country |

+----+----------------+----------------------------+-----+-------+---------+---------+

| 1 | 百度 | https://www.baidu.com/ | 21 | 4 | 5010.5 | CN |

| 2 | 淘宝 | https://www.taob网站站点" rel="nofollow" />

SELECT id, name, url, uv

FROM website

WHERE uv>500 AND age<20;

执行结果如下:

+----+----------------+----------------------------+---------+

| id | name | url | uv |

+----+----------------+----------------------------+---------+

| 2 | 淘宝 | https://www.taob网站站点" rel="nofollow" /> SELECT column1, column2, columnN
FROM table_name

WHERE [condition1] OR [condition2]...OR [conditionN]

您可以使用 OR 运算符连接 N 个条件,只要满足其中一个条件,SQL 语句就奏效。

示例

仍然使用上面的 website 表,从 CUSTOMERS 表中选取出 id、name、url 和 uv 四个字段,并且日访问量(uv)小于 500 万,或者年龄(age)大于 20:

SELECT id, name, url, uv

FROM website

WHERE uv<500 OR age>20;

执行结果如下:

+----+-------------+-------------------------+--------+

| id | name | url | uv |

+----+-------------+-------------------------+--------+

| 1 | 百度 | https://www.baidu.com/ | 5010.5 |

| 3 | C语言中文网 | http://c.biancheng网站站点" rel="nofollow" />