首页 > 其他 > 详细

3.05 在一个表中查找与其他表不匹配的记录

时间:2017-09-14 09:50:58      阅读:319      评论:0      收藏:0      [点我收藏+]

问题:对于具有相同关键字的两个表,要在一个表中查找与另外一个不匹配的行。例如,要查找没有职员的部门.

要查找部门中每个员工的工作岗位需要在表需要在表deptno及emp中有一个等值联接。deptno列就是这两个表之间的公共值。但是,等值联接却不能直接显示出那个部门没有员工。这是因为在表emp和dept正在等值联接时,将会返回满足联接条件的所有行。可是我们只需要那些在表dept中不满足联接条件的行。

尽管乍看起来这个问题同前一个问题类似,但是要更复杂一些。其不同之处就是在前一个问题中,需要列出在表dept中找出在表emp中没有的部门编号。本节要求可以直接列出dept表中其他的列,而不仅仅是部门编号。

 

使用外联结及NULL筛选(outer关键字是可选的):

select d.* from dept d left outer join emp e on (d.deptno = e.deptno) where e.deptno is null;

3.05 在一个表中查找与其他表不匹配的记录

原文:http://www.cnblogs.com/liang545621/p/7518467.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!