日期:2014-05-19  浏览次数:20461 次

这种sql查询能写出来吗????
有两个表,表Users,字段:
UId,UName,UPower,....
表Oview,字段:
OId,WName,....

UName=WName,这两个都表示姓名..我想从表Users中抽出UName和UId,条件是:UPower=1并且UName在表Oview中没出现过,也就是和UName相同值的WName在表Oview中不存在...这种sql或plsql能不能写出来的?????

以前都是查询查存在的,这种不存在的是不是无法用sql来实现的???


------解决方案--------------------
--方法一
Select * From Users A Where UName Not In (Select WName From Oview) And UPower = 1

--方法二
Select * From Users A Where Not Exists (Select WName From Oview Where WName = A.UName) And UPower = 1

--方法三
Select A.* From Users A Left Join Oview B
On A.UName = B.WName
Where B.WName Is Null And A.UPower = 1