比较两个SQL表并返回缺少的ID?

时间:2021-06-29 21:34:18

I have two simple tables: (here only the "id" column)

我有两个简单的表:(这里只有“id”列)

table1:

表格1:

id
1
2
3
4

table2:

表2:

id
2
4

the sql query should compare the two tables for missing "id" in table2 and return: 1,2

sql查询应比较表2中缺少“id”的两个表并返回:1,2

any ideas? :) TY

有任何想法吗? :) TY

3 个解决方案

#1


28  

There are several ways to skin this cat:

有几种方法可以给这只猫上皮:

SELECT    table1.ID
FROM      table1
WHERE     table1.ID NOT IN(SELECT table2.ID FROM table2)

Or you could use a left outer join:

或者您可以使用左外连接:

SELECT          table1.ID
FROM            table1
LEFT OUTER JOIN table2 ON table1.ID = table2.ID
WHERE           table2.ID IS NULL

#2


2  

select t1.*
from table1 t1
left outer join table2 t2 on t1.id = t2.id
where t2.id is null

#3


1  

Try this:

尝试这个:

SELECT    table1.id
FROM      table1
WHERE     table1.id NOT IN(SELECT table2.id FROM table2)

#1


28  

There are several ways to skin this cat:

有几种方法可以给这只猫上皮:

SELECT    table1.ID
FROM      table1
WHERE     table1.ID NOT IN(SELECT table2.ID FROM table2)

Or you could use a left outer join:

或者您可以使用左外连接:

SELECT          table1.ID
FROM            table1
LEFT OUTER JOIN table2 ON table1.ID = table2.ID
WHERE           table2.ID IS NULL

#2


2  

select t1.*
from table1 t1
left outer join table2 t2 on t1.id = t2.id
where t2.id is null

#3


1  

Try this:

尝试这个:

SELECT    table1.id
FROM      table1
WHERE     table1.id NOT IN(SELECT table2.id FROM table2)