首页 > 解决方案 > SQL 根据列表检查缺失的值

问题描述

忍受我这个

2 表连接如下图所示。

在此处输入图像描述

机箱 ID 100 和 300 的模块 ID 为 29。

但是机箱 ID 200 模块 ID 为 NULL

这是出于审计目的,以确保所有机箱 ID 的模块 ID 为 29,如果没有,则显示 NULL

标签: sql

解决方案


如果您的要求是显示chassis表中的所有行,则使用left join如下所示 -

SELECT *
FROM CHASSIS C
LEFT JOIN CHASSIS_MODULE CM ON CM.chassis_id = C.chassis_id

如果您想显示丢失chassis的人,请尝试以下查询 -module

SELECT *
FROM CHASSIS C
LEFT JOIN CHASSIS_MODULE CM ON CM.chassis_id = C.chassis_id
WHERE CM.module_id IS NULL;

推荐阅读