在使用SQL时怎么获得两个表的差集?(50分)

  • 主题发起人 主题发起人 nethree
  • 开始时间 开始时间
N

nethree

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说我有两个表:表1、表2,它们有字段1、字段2是相同类型的,现在想通过这两个字段从表1中找到表1中有的,而表2没有的记录!
我已经能用链接方式找到两个字段相同的记录如:
SELECT 表1.*
FROM 表1 INNER JOIN
表2 ON 表1.字段1 = 表2.字段1 AND 表1.字段2 = 表2.字段2
本想通过在‘ON’后加上‘NOT’来解决我的问题,可是这样行不通!
 
你说得不清楚,是不是这两个字段想同就算是相同的记录?
select *
from 表1
where 字段1,字段2 not in
(select 字段1,字段2 from 表2)
 
select *
from 表1 a
where not exists
(select 字段1,字段2 from 表2 b where a.字段1=b.字段1 and a.字段2=b.字段2)
 
select * from table1 where not field1+field2 in (select field1+field2 from table2)
 
谢谢各位!
 
后退
顶部