您的位置:MYSQL中文网 > sqland和or优先级 SQL AND & OR 运算符

sqland和or优先级 SQL AND & OR 运算符

2023-05-24 18:30 MySQL教程

sqland和or优先级 SQL AND & OR 运算符

sqland和or优先级

SQL语句中的AND和OR是常用的运算符,它们可以用来构建复杂的查询语句。它们之间有一定的优先级,在使用时需要注意。

AND优先级高于OR,也就是说,当一个SQL语句中同时出现AND和OR时,AND会先被执行。例如:

SELECT * FROM table WHERE a=1 AND b=2 OR c=3;

上面这条SQL语句中,AND和OR都出现了,但是AND优先级更高,因此它会被先执行。也就是说,上面这条SQL语句相当于下面这条SQL语句:

SELECT * FROM table WHERE (a=1 AND b=2) OR c=3;

上面这条SQL语句中显式地使用了括号将AND和OR分开了。考虑到AND优先级更高的特性,我们在写复杂的SQL语句时应当注意使用括号将不同的运算分开。例如下面这条SQL语句中就显式地使用了括号将不同的运算分开了:

SELECT * FROM table WHERE (a=1 OR b=2) AND c=3;

SQL AND & OR 运算符

SQL AND & OR 运算符


AND & OR 运算符用于基于一个以上的条件对记录进行过滤。


SQL AND & OR 运算符

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

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


演示数据库

在本教程中,我们将使用众所周知的 Northwind 样本数据库。

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

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


AND 运算符实例

下面的 SQL 语句从 "Customers" 表中选取国家为 "Germany" 且城市为 "Berlin" 的所有客户:

实例

SELECT * FROM Customers
WHERE Country="Germany"
AND City="Berlin";


OR 运算符实例

下面的 SQL 语句从 "Customers" 表中选取城市为 "Berlin" 或者 "München" 的所有客户:

实例

SELECT * FROM Customers
WHERE City="Berlin"
OR City="München";


结合 AND & OR

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

下面的 SQL 语句从 "Customers" 表中选取国家为 "Germany" 且城市为 "Berlin" 或者 "München" 的所有客户:

实例

SELECT * FROM Customers
WHERE Country="Germany"
AND (City="Berlin" OR City="München");
阅读全文
以上是MYSQL中文网为你收集整理的sqland和or优先级 SQL AND & OR 运算符全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS