【SQL系列】检索在另一张表中没有对应行的行

简介: 【SQL系列】检索在另一张表中没有对应行的行

问题

有两张包含相同键的表,你想从一张表中找出在另一张表中没有与之匹配的行。例如,你想确定哪个部门没有员工。

解决方案

返回一张表中的所有行,以及在另一张表中可能有匹配行也可能没有匹配行的行。然后,只留下没有匹配行的行。

DB2、MySQL、PostgreSQL 和 SQL Server

使用外连接并执行基于 NULL 的筛选(关键字 OUTER 是可选的)。

select d.*

from dept d

        left outer join emp e

                        on (d.deptno = e.deptno)

where e.deptno is null


点个赞吧,这对我非常重要!

目录
相关文章
|
4月前
|
SQL 数据库
SQL JOIN 子句:合并多个表中相关行的完整指南
SQL LEFT JOIN关键字返回左表(table1)中的所有记录以及右表(table2)中的匹配记录。如果没有匹配,则右侧的结果为0条记录。
58 0
|
4月前
|
SQL Oracle 关系型数据库
SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤
SQL CREATE INDEX 语句用于在表中创建索引。 索引用于比其他方式更快地从数据库中检索数据。用户无法看到索引,它们只是用于加速搜索/查询。 注意: 使用索引更新表比不使用索引更新表需要更多的时间(因为索引也需要更新)。因此,只在经常进行搜索的列上创建索引。
52 5
|
9月前
|
SQL 存储 数据库
SQL Server—游标(是什么?声明、打开、检索、关闭、释放)
是一种数据访问机制,它允许用户单独的操作数据行,而不是对整个行集进行操作。用户可以通过单独处理每一行逐条手机信息并对数据逐行进行操作,这样可以降低系统开销和潜在的阻隔情况。用户也可以使用这些数据生成SQL代码并立即执行或输出
|
9月前
|
SQL Oracle 关系型数据库
update时 单行子查询返回多个行 SQL 错误 [1427] 处理方案
我遇到此错误是在多表关联update的
400 0
|
9月前
|
SQL 关系型数据库 Java
高逼格的 SQL 写法:行行比较
高逼格的 SQL 写法:行行比较
|
10月前
|
SQL 数据库
【SQL server 修改编辑前200行操作中的行数】
【SQL server 修改编辑前200行操作中的行数】
169 0
【SQL server 修改编辑前200行操作中的行数】
【SQL开发实战技巧】系列(二十六):数仓报表场景☞聊聊ROLLUP、UNION ALL是如何分别做分组合计的以及如何识别哪些行是做汇总的结果行
本篇文章讲解的主要内容是:***ROLLUP、UNION ALL是如何分别做分组合计的以及如何通过CUBE 、GROUPING、GROUPING_ID 识别哪些行是做汇总的结果行***
【SQL开发实战技巧】系列(二十六):数仓报表场景☞聊聊ROLLUP、UNION ALL是如何分别做分组合计的以及如何识别哪些行是做汇总的结果行
|
SQL Oracle 关系型数据库
【SQL开发实战技巧】系列(十五):查找最值所在行数据信息及快速计算总和百之max/min() keep() over()、fisrt_value、last_value、ratio_to_report
本篇文章讲解的主要内容是:***计算部门中那个工资等级的员工最多、通过返回部门10最大工资所在行的员工名称小案例来讲解max/min() keep() over()、通过查询工资最高的人小案例来介绍fisrt_value、last_value、通过计算各个部门的工资合计以及各个部门合计工资占总工资的比例小案例来介绍如何计算百分比及ratio_to_report分析函数的使用***
【SQL开发实战技巧】系列(十五):查找最值所在行数据信息及快速计算总和百之max/min() keep() over()、fisrt_value、last_value、ratio_to_report
|
SQL Oracle 关系型数据库
【SQL系列】查找相同的行
【SQL系列】查找相同的行
181 0
|
SQL
【SQL系列】将一张表中的行复制到另一张表中
【SQL系列】将一张表中的行复制到另一张表中
168 0