如何在1个SQL请求中合并2个表?

时间:2018-12-23 18:44:02

标签: mysql sql

我有2张桌子:

A table: 
---+----------
id +  key

B table: 
-----+--------+---------
id   +  value +   key
B中的

“键”字段是从A表获得的。

我需要A表中所有ID为'key'且B表中没有的ID。

4 个答案:

答案 0 :(得分:2)

尝试一下:

SELECT id FROM tablea a
WHERE NOT EXISTS (SELECT 1 FROM tableb b WHERE b.key = a.key)

答案 1 :(得分:2)

您尝试使用JOIN吗?如果我了解得很好,则需要一个完整的外部联接(不包括在内),它与双“ not in”相同。

有关更多详细信息,请参见下面的图片。

enter image description here

答案 2 :(得分:1)

NOT IN是一种方式:

SELECT id FROM A
WHERE key NOT IN (
    SELECT key FROM B)

答案 3 :(得分:1)

LEFT JOIN这样的

select a.id,a.key from A a
left join B b on a.key = b.key
where b.id is null