zoukankan      html  css  js  c++  java
  • 3.5 在一个表中查找与其他表不匹配的记录

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

    要查找部门中每个员工的工作岗位需要在表需要在表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;

  • 相关阅读:
    常用的算法
    2017前端面试题
    深入了解php opcode缓存原理
    0=='aa'的结果是true
    关于PHP浮点数之 intval((0.1+0.7)*10) 为什么是7
    linux grep命令
    linux awk命令详解
    PHP socket模拟POST请求
    shell编程之sed
    Shell脚本常用判断
  • 原文地址:https://www.cnblogs.com/liang545621/p/7518467.html
Copyright © 2011-2022 走看看