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子句中都应使用圆括号明确的分组 *** 作符,不要过分依赖默认计算次序,即使它确实是你想要的东西也是如此.使用圆括号没有什么坏处,它能消除歧义.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)