如何在一个sql请求中组合两个表?

apeeds0o  于 2021-06-15  发布在  Mysql
关注(0)|答案(4)|浏览(295)

我有两张table:

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

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

b中的“key”字段来自一个表。
我需要一个表中的所有id,其中有一个“key”,而b表中没有。

8wigbo56

8wigbo561#

一个孩子怎么样 LEFT JOIN 喜欢

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

oymdgrw72#

你试过用join吗?如果我理解的很好,您需要一个完全的外部连接(带排除),这与双精度“not in”相同。
详见下图。

yeotifhr

yeotifhr3#

NOT IN 是一种方法:

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

tvmytwxo4#

试试这个:

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

相关问题