Mysql Sql来获取与特定用户没有关系的所有用户

Mysql Sql来获取与特定用户没有关系的所有用户,mysql,Mysql,我有一个严重的问题,就是如何在friends表中获取与我没有关系的用户的结果。我希望返回隐私为0的用户。请记住,我是3号身份证 所以我有两个表,用户表和朋友表 用户表 朋友桌 我希望得到预期的结果 预期结果 我认为这应该做到: SELECT * FROM users WHERE privacy = 0 AND id <> 3 AND id NOT IN ( SELECT receiver_id FROM friends WHERE sender_id = 3 UN

我有一个严重的问题,就是如何在friends表中获取与我没有关系的用户的结果。我希望返回隐私为0的用户。请记住,我是3号身份证

所以我有两个表,用户表和朋友表

用户表

朋友桌

我希望得到预期的结果 预期结果


我认为这应该做到:

SELECT *
FROM users
WHERE privacy = 0
AND id <> 3
AND id NOT IN (
    SELECT receiver_id FROM friends WHERE sender_id   = 3
    UNION ALL
    SELECT sender_id   FROM friends WHERE receiver_id = 3
)

它假定发送者id和接收者id不能包含NULL。

您想要的朋友已接受=0?@SalmanA No。我只想要与friends表中编号3的id没有关系的用户
id| sender_id| receiver_id| accepted
1 | 1        | 3          | 0
2 | 3        | 4          | 0
id| username| country | privacy
2 | Mark    | Sweden  | 0
6 | Ayo     | Brazil  | 0
SELECT *
FROM users
WHERE privacy = 0
AND id <> 3
AND id NOT IN (
    SELECT receiver_id FROM friends WHERE sender_id   = 3
    UNION ALL
    SELECT sender_id   FROM friends WHERE receiver_id = 3
)