为了账号安全,请及时绑定邮箱和手机立即绑定

SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法

AND 运算符

SQL的AND运算符用于根据多个条件筛选记录,确保所有条件都为TRUE才返回记录。下面是AND运算符的基本语法:


SELECT column1, column2, ...

FROM table_name

WHERE condition1 AND condition2 AND condition3 ...;

  • column1, column2,等是您要选择的列名称。

  • table_name是您从中选择记录的表的名称。

  • condition1, condition2,等是筛选记录的条件。

  • 使用AND运算符,所有条件都必须为TRUE,否则记录不会被返回。

以下是一些示例:

  1. 选择所有来自西班牙并以字母’G’开头的客户:

SELECT *

FROM Customers

WHERE Country = 'Spain'  AND CustomerName LIKE  'G%';

  1. 选择所有来自西班牙,城市为’Berlin’,且邮政编码大于12000的客户:

SELECT *

FROM Customers

WHERE Country = 'Germany'

AND City = 'Berlin'

AND PostalCode > 12000;

  1. 选择所有以字母’G’或’R’开头的西班牙客户(使用括号确保正确的条件组合):

SELECT *

FROM Customers

WHERE Country = 'Spain'  AND (CustomerName LIKE  'G%'  OR CustomerName LIKE  'R%');

如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。


SELECT *

FROM Customers

WHERE Country = 'Spain'  AND CustomerName LIKE  'G%'  OR CustomerName LIKE  'R%';

上述查询将选择所有以’G’开头的西班牙客户,以及所有以’R’开头的客户,而不考虑国家值。

OR 运算符

SQL的OR运算符用于根据多个条件筛选记录,只要有一个条件为TRUE,就会返回记录。下面是OR运算符的基本语法:


SELECT column1, column2, ...

FROM table_name

WHERE condition1 OR condition2 OR condition3 ...;

  • column1, column2,等是您要选择的列名称。

  • table_name是您从中选择记录的表的名称。

  • condition1, condition2,等是筛选记录的条件。

  • 使用OR运算符,只要有一个条件为TRUE,记录就会被返回。

以下是一些示例:

  1. 选择所有来自德国或西班牙的客户:

SELECT *

FROM Customers

WHERE Country = 'Germany'  OR Country = 'Spain';

  1. 选择所有城市为’Berlin’,或CustomerName以字母’G’开头,或Country为’Norway’的客户:

SELECT *

FROM Customers

WHERE City = 'Berlin'  OR CustomerName LIKE  'G%'  OR Country = 'Norway';

  1. 结合使用ANDOR运算符,选择所有以’G’或’R’开头的西班牙客户(使用括号确保正确的条件组合):

SELECT *

FROM Customers

WHERE Country = 'Spain'  AND (CustomerName LIKE  'G%'  OR CustomerName LIKE  'R%');

如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。


SELECT *

FROM Customers

WHERE Country = 'Spain'  AND CustomerName LIKE  'G%'  OR CustomerName LIKE  'R%';

上述查询将选择所有以’G’开头的西班牙客户,以及所有以’R’开头的客户,而不考虑国家值。

NOT 运算符

SQL的OR运算符用于根据多个条件筛选记录,只要有一个条件为TRUE,就会返回记录。下面是OR运算符的基本语法:


SELECT column1, column2, ...

FROM table_name

WHERE condition1 OR condition2 OR condition3 ...;

  • column1, column2,等是您要选择的列名称。

  • table_name是您从中选择记录的表的名称。

  • condition1, condition2,等是筛选记录的条件。

  • 使用OR运算符,只要有一个条件为TRUE,记录就会被返回。

以下是一些示例:

  1. 选择所有来自德国或西班牙的客户:

SELECT *

FROM Customers

WHERE Country = 'Germany'  OR Country = 'Spain';

  1. 选择所有城市为’Berlin’,或CustomerName以字母’G’开头,或Country为’Norway’的客户:

SELECT *

FROM Customers

WHERE City = 'Berlin'  OR CustomerName LIKE  'G%'  OR Country = 'Norway';

  1. 结合使用ANDOR运算符,选择所有以’G’或’R’开头的西班牙客户(使用括号确保正确的条件组合):

SELECT *

FROM Customers

WHERE Country = 'Spain'  AND (CustomerName LIKE  'G%'  OR CustomerName LIKE  'R%');

如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。


SELECT *

FROM Customers

WHERE Country = 'Spain'  AND CustomerName LIKE  'G%'  OR CustomerName LIKE  'R%';

上述查询将选择所有以’G’开头的西班牙客户,以及所有以’R’开头的客户,而不考虑国家值。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消