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

Posted 长城之上是千亿的星空,星空之上是不灭的守望。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.05 在一个表中查找与其他表不匹配的记录相关的知识,希望对你有一定的参考价值。

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

要查找部门中每个员工的工作岗位需要在表需要在表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 在一个表中查找与其他表不匹配的记录的主要内容,如果未能解决你的问题,请参考以下文章

QStyleItemDelegate 复选框与样式表不匹配

如何在多行/列Excel电子表格表中查找值的位置

从一个表返回与另一表不匹配的单行

如何在 Azure 表存储中查找与值数组不匹配的记录?

mysql 如何查找同一表中两行之间的差异并列出不匹配的记录? mysql在表中查找不匹配的行

二分查找