[英]Joining 2 tables (a, b) and returning values that are NULL in (b)
我想加入 2 个表(a,b)并在(b)中返回 NULL 的值。 我正在使用 2 个表 - 名为cookies
和all_desserts
。 Cookies 存在于all_desserts
中,但我想获得一个显示all_desserts.names
- cookies.names
值的表。
本质上,我想显示甜点表中不是 cookies 的所有甜点。 我想我需要在这里使用 null 并正确加入。 我想将这个新表命名为desserts_without_cookies
。
这是我到目前为止所拥有的(不起作用)。 我做错了加入类型吗?
FROM cookies LEFT JOIN desserts.cookies ON cookies.cookie_name = desserts.cookies
WHERE desserts.cookies IS NULL```
你可以用NOT EXISTS
做到这一点:
select ad.*
from all_deserts ad
where not exists (select 1 from cookies c where c.names = ad.names)
LEFT JOIN
也可以:
select ad.*
from all_deserts ad left join cookies c
on c.names = ad.names
where c.names is null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.