当前位置: 代码迷 >> Oracle管理 >> exists的用法解决方法
  详细解决方案

exists的用法解决方法

热度:197   发布时间:2016-04-24 04:03:46.0
exists的用法
要求基本工资不大于1500,同时不可以领取奖金的雇员信息(这道题要是用exists来做)
我的做法:select * from emp  where exists(select * from emp where sal<1500 and comm is null)
可是显示出来的却是全部记录.。请问错在哪里?
------解决思路----------------------
exists 内的表与exists 外的表没有关联
select * from emp a  where exists(select null from emp b  where b.sal<1500 and b.comm is null a.唯一字段=b.唯一字段);
看这个要求根本就没必要用到exists
------解决思路----------------------
是没有必要用
select * from emp where sal<1500 and comm is null
如果一定要用
select * from emp a  where exists(select 1 from emp  b where a.enpid=b.empid and  b.sal<1500 and b.comm is null)
  相关解决方案