表 1 包含一个具有数百万行的唯一 ID 列。
表 2 包含 2 列 matchId1、matchId2,它们可以保存表 1 中的 ID。表 2 中可以有许多行引用给定的 ID。
如何以有效的方式列出表 1 中未包含在表 2(在任一列中)中的 ID?
SELECT x.*
FROM table1 x
LEFT
JOIN table2 y
ON y.id = x.id
WHERE y.id IS NULL;
Run Code Online (Sandbox Code Playgroud)
或者,更具体地说……
SELECT x.*
FROM table1 x
LEFT
JOIN table2 y
ON x.id IN(y.id1,y.id2)
WHERE y.id IS NULL;
Run Code Online (Sandbox Code Playgroud)
这假设 table2 上有一个单列 PK
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |