sql - 在sql中检查双重条件

时间:2011-12-16 11:07:42

标签: sql

我有2个表,调用Table1和Table2。 Table1列是id,name,col3。 表2具有列id,名称,col3。 我想从Table1中提取所有记录的id和名称(两者都满足条件) 不在表2中。 怎么做

3 个答案:

答案 0 :(得分:1)

以下是否有帮助:

SELECT 
    Table1.ID, 
    Table1.name, 
    Table1.col3, 
    Table2.ID
FROM 
    Table2 RIGHT JOIN Table1 ON (Table2.name = Table1.name) AND (Table2.ID = Table1.ID)
WHERE 
    Table2.ID Is Null;

答案 1 :(得分:1)

这个怎么样......

SELECT t1.*
FROM Table1 t1
LEFT OUTER JOIN Table2 t2
  ON t1.id = t2.id AND t1.name = t2.name
WHERE t2.id IS NULL

答案 2 :(得分:1)

我认为你需要其他表中没有的值(id,name)。

SELECT t1.*
FROM Table1 t1
LEFT JOIN Table2 t2
  ON t1.id <> t2.id AND t1.name <> t2.name
WHERE t2.id is null
UNION
SELECT t2.*
FROM Table2 t2
LEFT JOIN Table1 t1
  ON t1.id <> t2.id AND t1.name <> t2.name
WHERE t1.id is null