我有两个表:“客户”和“地址”。 简而言之,假设客户拥有:
idCliente
name
并且地址具有:
idAddress
Client_idClient
street
当Client_idClient成为客户端的外键时,它等于idClient。要创建客户端,可以选择设置地址,因此我们有具有和没有地址的客户端,其中有地址的客户端可以通过内部联接查询轻松看到。
我的问题是是否可以列出所有没有地址的客户?
---查看带有地址的所有客户端很容易(“ SELECT * FROM client INNER JOIN address ON idClient = Client_idClient”),但是我无法通过查看每个idClient是否不在地址上看到其他方法。 Client_idClient。
答案 0 :(得分:0)
有几种方法。这是使用not exists
的一个:
select *
from client c
where not exists (
select 1
from address a
where a.Client_idClient = c.idCliente
)
或者您可以使用outer join / null
支票:
select c.*
from client c
left join address a on a.Client_idClient = c.idCliente
where a.Client_idClient is null