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

sql中,or与and 的运算级别是不是一样的?

sql中,or与and 的运算级别是不是一样的?

慕标5832272 2019-02-21 09:15:28
sql中,or与and 的运算级别是不是一样的?
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

不一样,and优先级比or高。

or 优先级:倒数第一

and 优先级:倒数第二

select * from AA where a >1 or b>1 and C>1

等同于:

select * from AA where a >1 or (b>1 and C>1 )

如果你只想a>1和c>1建立或关系,则需要写为:

select * from AA where(a>1 or b>1 )and C>1

扩展资料:

sql 中的运算符级别

and的优先级高于or的优先级,举个例子:

select * from user where a=1 and  b=2or c=3and d=4

上面的sql,where子句中执行的先后顺序是:最先是 a=1 and b=2 然后是 c=3 and d=4  最后是两个结果集or  等于  (a=1 and b=2) or (c=3 and d=4 )

如图:

结果:运算级别从高到低,or比and低两级,中间隔了个XOR

注:不仅仅是在Sql Server中,电路中、编程语言中都是and的优先级高于or。



查看完整回答
反对 回复 2019-03-03
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

or 优先级 倒数第一,and 优先级 倒数第二

所以是and优先级比or高

select * from AA where a >1 or b>1 and C>1 就等同于

select * from AA where a >1 or (b>1 and C>1 )

扩展资料

1,SQL AND & OR 运算符

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

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

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

2,SQL

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。

结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。

不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。



查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 818 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信