MySQL-如何查看字段是否不在另一个表上

时间:2018-06-22 19:12:09

标签: mysql

我有两个表:“客户”和“地址”。 简而言之,假设客户拥有:

idCliente
name

并且地址具有:

idAddress
Client_idClient
street

当Client_idClient成为客户端的外键时,它等于idClient。要创建客户端,可以选择设置地址,因此我们有具有和没有地址的客户端,其中有地址的客户端可以通过内部联接查询轻松看到。

我的问题是是否可以列出所有没有地址的客户?

---查看带有地址的所有客户端很容易(“ SELECT * FROM client INNER JOIN address ON idClient = Client_idClient”),但是我无法通过查看每个idClient是否不在地址上看到其他方法。 Client_idClient。

1 个答案:

答案 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