mysql-link语句没有';t返回没有链接的记录


mysql link statement doesn't return records without a link

我的数据库中有一个名为Users的表。一个用户可以有多个地址,但在某些情况下,他们不会有任何地址。我的mysql链接语句只返回至少有一个地址的记录:

$query = ' SELECT DISTINCT a.id FROM users as a, addresses as b' ;
$query.= ' WHERE a.id = b.userId ' ;

如何更改此设置,以便没有地址的用户仍将被返回?

我想我只是缺少一个简单的解决方案!

提前谢谢。

改用LEFT JOIN

SELECT DISTINCT a.id
FROM   Users a LEFT JOIN Addresses b
        on a.ID = b.UserID

您需要使用LEFT JOIN:

$query = ' SELECT DISTINCT a.id FROM users as a LEFT JOIN addresses as b' ;
$query.= ' ON a.id = b.userId ' ;