sql关系型运算符优先级高到低为:not >and> or

本文介绍了一个常见的SQL查询误区,即如何正确地使用AND和OR运算符来构建复合条件查询。通过对比不同SQL语句的执行逻辑,解释了如何通过合理使用括号来达到预期的查询效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select   *   from   table   where   Condition1   and   Condition2   or   Condition3

如果我们要搜索表table中满足Condition1且满足Condition2和Conditon3中其中一个的时候,我们使用上述语句是错误的,因为关系型运算符优先级高低为:not>and>or,因此上面执行顺序为:

select   *   from   table   where   (Condition1   and   Condition2)   or   Condition3

也就是是说这条语句会去查询那些同时满足Condition1和Condition2或者是满足Condition3的元组。

如果我们想实现我们的初衷,这里我们可以通过加括号的方式实现。 实现语句为:

select   *   from   table   where   Condition1   and   (Condition2   or   Condition3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值