select a.ROOMNO from Room a, Cusorder b where exist (select a,b from b.ROOMNO<>a.ROOMNO and a.RTYPE='economy')
多谢 ,但是 luyuen(luyuen):select Room.ROOMNO from Room, Cusorder where nvl(Cusorder.ROOMNO,0)<>Room.ROOMNO and Room.RTYPE='economy';no rows selected另外: select a.ROOMNO from Room a, Cusorder b where exist (select a,b from b.ROOMNO<>a.ROOMNO and a.RTYPE='economy')ERROR at line 1: ORA-00936: missing expression不知道为什么????????????
select a.ROOMNO from Room a, Cusorder b where exist (select a,b from b.ROOMNO<>a.ROOMNO and a.RTYPE='economy') 这句好像不行,a,b字段是那个表的呢?
select a.ROOMNO from Room a, Cusorder b where a.RTYPE='economy'and ( select a,b from b.ROOMNO<>a.ROOMNO )
你用下边的语法试试(oracle 9i可以的) SELECT a.ROOMNO FROM Room a LEFT JOIN Cusorder b ON b.ROOMNO<>a.ROOMNO AND a.RTYPE='economy'
引入NULL情况的=比较: a=b or a is null and b is null 引入NULL情况的!=比较: a!=b or a is null or b is null and not (a is null and b is null) 但你这里的思路有问题,两个表之间这种情况属于典型的外连接查询: 所以语句改为: select Room.ROOMNO from Room, Cusorder where Cusorder.ROOMNO=Room.ROOMNO(+) and Room.RTYPE(+)='economy';
如果你用<>进行连接,那么当两个表里都有数据时,结果会很乱的。
select nvl(Room.ROOMNO,0) from Room, Cusorder where Cusorder.ROOMNO=Room.ROOMNO(+) and Room.RTYPE(+)='economy';
select a.ROOMNO from Room a, Cusorder b where b.ROOMNO=a.ROOMNO(+) and a.RTYPE='economy';
NULL是一个特殊的值,在做>=,>,<=,<>条件判断时的返回值都为false,因此无返回值。只有在null or true情况下返回true。
因为CUSORDER是空的,所以Cusorder.ROOMNO值是NULL
在ORACLE中,null不等于任何值,也不不等于任何值,嘿嘿
select a.ROOMNO from Room a, Cusorder b where exist (select a,b from b.ROOMNO<>a.ROOMNO and a.RTYPE='economy')ERROR at line 1:
ORA-00936: missing expression不知道为什么????????????
这句好像不行,a,b字段是那个表的呢?
from Room a, Cusorder b
where a.RTYPE='economy'and (
select a,b from b.ROOMNO<>a.ROOMNO )
SELECT a.ROOMNO FROM Room a
LEFT JOIN Cusorder b
ON b.ROOMNO<>a.ROOMNO
AND a.RTYPE='economy'
a=b or a is null and b is null
引入NULL情况的!=比较:
a!=b or a is null or b is null and not (a is null and b is null)
但你这里的思路有问题,两个表之间这种情况属于典型的外连接查询:
所以语句改为:
select Room.ROOMNO from Room, Cusorder where Cusorder.ROOMNO=Room.ROOMNO(+) and Room.RTYPE(+)='economy';