exists(查询语句) : 存在的意思,判断一张表里面的记录是否存在与另外一张表中。
emp表中的部门号为 10,20,30
部门表中,dept中的部门号为 9,10,20,30,40,50
需求,查询出有员工的部门(查询出存在于emp表中的dept信息)
似乎没有效果,结果查询出的是所有的dept信息。
指定deptno的值,也没效果
select * from dept d1 where exists(select * from emp e1 where e1.deptno=10 );等同于
select * from dept d1 where 1 = 1
改进下写法,添加exists 后面,emp表与dept表的关联关系
总结:在使用exists的时候,要注意关联exists前后两张表。