sql - SQL 语句查找 tbl1 的唯一记录,但不存在与 tbl2 相同的记录
问题描述
我正在尝试在“c”中列出记录,而这些记录也是“o”的一部分,但不知何故,我的代码无法根据 customerNumber 工作。
select c.*
from c
where c.customerNumber not in (select o.customerNumber
from orders o
inner join customers c on c.customerNumber = o.customerNumber);
我究竟做错了什么?
解决方案
你可以用不存在来做到这一点:
select c.* from c
where not exists (
select 1
from orders
where customerNumber = c.customerNumber
);
或简化您的代码:
select c.* from c
where c.customerNumber not in (
select customerNumber
from orders
);
推荐阅读
- macos - Mac 上的 SwiftUI - 如何将按钮指定为主按钮?
- swift - 如果我导航到两个视图控制器,scheduledTimer 不会触发
- html - 将 div 转换为 ionic 3 中的图像
- node.js - 从 Node.js 的缓冲区中删除“空”字节
- python - 是否可以将模型对象连接到 celery 任务?
- google-sheets - 导入范围查询:10秒以下的时长条件
- reactjs - 如何使用 jest 和酶导入具有模拟数据的手动模拟模块?
- matlab - 在 Matlab 中循环 Sortino 比率
- java - SocketException:JRE 1.6 上的连接重置,而不是 JRE 11
- blazor - Blazor MatMenu 在 foreach 循环中的所有菜单中取最后一个值