区别:1、在用于筛选条件时,and的意思是“与”,必须要所有条件都成立时返回为true,而or的意思是“或”,只要有一个条件成立就会返回true;2、and的优先级大于or。
本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
1.and表示交
2.or表示并
3.and的优先级比or高
(FirstName='Thomas' OR FirstName='William') AND LastName='Carter' 会得到 lastname 必须为 carter ,firstname 为 thomas 或者 william的人 thomas carter william carter FirstName='Thomas' OR FirstName='William' AND LastName='Carter' 可以得到 william carter 或者 firstname 为ithomas lastname 不一定是 carter的人 比如: thomas carter william carter thomas king
就是 or 和and 的先后顺序的问题, and 的优先级比 or的高 ,a or b and c 先计算 b and c 的结果 再去计算 a 的。
and优先级大于or。
加括号则优先执行or,后执行and;不加括号,会先执行and,再执行or,所以查询结果不同。举例:
数据库存在数据:
Thomas Carter
William Carter
Thomas King
执行:
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William') AND LastName='Carter'
结果为:
Thomas Carter
William Carter
执行:
SELECT * FROM Persons WHERE FirstName='Thomas' OR FirstName='William' AND LastName='Carter'
结果为:
Thomas Carter
William Carter
Thomas King
推荐教程:《Oracle视频教程》
以上是oracle中and和or的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!