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

简介: 【SQL系列】检索在另一张表中没有对应行的行
+关注继续查看

问题

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

image

解决方案

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

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


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

目录
相关文章
|
2月前
|
SQL 存储 数据库
SQL Server—游标(是什么?声明、打开、检索、关闭、释放)
是一种数据访问机制,它允许用户单独的操作数据行,而不是对整个行集进行操作。用户可以通过单独处理每一行逐条手机信息并对数据逐行进行操作,这样可以降低系统开销和潜在的阻隔情况。用户也可以使用这些数据生成SQL代码并立即执行或输出
|
SQL 机器学习/深度学习 关系型数据库
【SQL刷题】Day7----SQL检索数据专项练习
【SQL刷题】Day7----SQL检索数据专项练习
【SQL刷题】Day7----SQL检索数据专项练习
|
SQL Oracle 关系型数据库
Oracle:使用SQL SELECT语句检索数据
一、官档 Book → SQL Language Reference → 19 SQL Statements: SAVEPOINT to UPDATE → SELECT 二、基础语法 SELECT {[distinct]列名,列名,…}|* FROM 表名 [WHERE 条件] [GROUP BY 分组列名] [HAVING 聚合函数] [ORDER BY 排序列名 ASC|DESC] 三、符号 单引号('):在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。
1541 0
推荐文章
更多