SQL select 条来自 table A 但不在 table B 中的记录
SQL select of records from table A but not in table B
拜托,谁能帮我找到 SQL 声明
select TABLE_A 中的所有记录,但 FIELD_1、FIELD_2 的组合在 TABLE_B 中不存在的记录除外。
(在 DB2 中)
您可以简单地使用 NOT EXISTS
:
select * from table_a ta
where not exists (select * from table_b tb
where tb.field_1 = ta.field_1
and tb.field_2 = ta.field_2)
使用不存在:
select * from table_A where not exists (select * from table_B
where table_B.field_1 = table_A.field_1
and table_B.field_2 = ta.field_2)
您可以使用反加入。例如:
select *
from table_a a
left join table_b b on b.field_1 = a.field_1 and b.field_2 = a.field_2
where b.field_1 is null
拜托,谁能帮我找到 SQL 声明 select TABLE_A 中的所有记录,但 FIELD_1、FIELD_2 的组合在 TABLE_B 中不存在的记录除外。
(在 DB2 中)
您可以简单地使用 NOT EXISTS
:
select * from table_a ta
where not exists (select * from table_b tb
where tb.field_1 = ta.field_1
and tb.field_2 = ta.field_2)
使用不存在:
select * from table_A where not exists (select * from table_B
where table_B.field_1 = table_A.field_1
and table_B.field_2 = ta.field_2)
您可以使用反加入。例如:
select *
from table_a a
left join table_b b on b.field_1 = a.field_1 and b.field_2 = a.field_2
where b.field_1 is null