OR是SQL的关键字,所以不管是SQL SERVER,还是oracle,都是用OR来表示或的
不是你写错了,而是你后面的那个or xx is null应该是你table里面有超多这样的纪录,所以就出现了很多条,可以通过括号来改变and or的次序
譬如
select * from [表名] where name = 'xx' and (password is null or xx is null )
and就是与的意思,所有条件都必须成立,
or就是或的意思,只要其中一个条件成立就行.
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
执行:SELECT * FROM Persons WHERE FirstName='Thomas' OR FirstName='William'
扩展资料:
ORACLE数据库特点:
①.、完整的数据管理功能:
(1)数据的大量性
(1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
参考资料:百度百科-Oracle数据库
你理解错了or,or是满足其中一个或两个条件,即使第一个条件不成立,第二个条件也要判断,因为有可能第二个条件是满足的.
而and是要两个条件同时成立,作用明显和or不一样.
以上就是土嘎嘎小编为大家整理的oracle中or怎么用相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!