sql中or跟and哪个优先级高

sql中or跟and哪个优先级高,第1张

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不能完全相互通用。

参考资料

百度百科——SQL

or是或,左右满足一个条件即可

and是并且,左右的条件必须都满足.

SELECT 姓名 FROM 班级 WHERE 课程名称='影视鉴赏' or 课程名称='音乐品鉴'-- 查找选了'影视鉴赏'或者选了'音乐品鉴'的学生姓名,只要选择了一个课程就满足条件

SELECT 姓名 FROM 班级 WHERE 课程名称='影视鉴赏' and 课程名称='音乐品鉴'-- 查找选了'影视鉴赏'并且选了'音乐品鉴'的学生姓名,必须同时选择了这2个课程才满足条件

例句:select 列名 from 表名 where 条件1 or 条件2 and 条件3

SQL在处理or *** 作符之前,优先处理and *** 作符,如此例中,会优先查找满足条件2和条件3的数据,然后再查找出满足条件1的.若要解决这个问题,可以使用圆括号明确的分组相应的 *** 作符.

如:select 列名 from 表名 where ( 条件1 or 条件2 ) and 条件3

注意:在使用具有AND和OR *** 作符的where子句中都应使用圆括号明确的分组 *** 作符,不要过分依赖默认计算次序,即使它确实是你想要的东西也是如此.使用圆括号没有什么坏处,它能消除歧义.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10842840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存