mysql连接在另一个表中排除匹配记录

时间:2017-11-24 05:10:19

标签: php mysql

我正在开发一个网络站点,我必须向登录用户显示随机用户配置文件(已经连接的成员除外)以进行连接。我有一个成员表,其中包含作为memberid,firstname和lastname的字段。我有另一个连接表,其中包含memberid和friendid字段。

现在,当我在连接表上使用左连接时,我只获得了我不想要的连接成员的配置文件。我只想显示未与登录用户

连接的配置文件表单成员表

1 个答案:

答案 0 :(得分:2)

使用Join时,您可以在不Not in的情况下实现此目的。

select *from
members
where
members.memberid not in (select memberid
                         from connections
                        )
;

上述查询仅表示显示不在连接中的成员资格信息。

修改

由于您已使用Left join。这是使用Left join实现此任务的查询:

select m.*
from members m
left join connections c
on m.id = c.id
where c.id is null;

希望它有所帮助!