我有一个包含 id
列的 users
表和一个包含 user_id
列的 posts
表专栏。
我正在查找所有从未发布过的用户。
伪代码:
SELECT u.* FROM users u
JOIN posts p
WHERE u.id IS NEVER IN p.user_id
我认为我在这里遗漏了一些简单的东西并且找不到答案。感谢您的任何帮助,您可以提供。
最佳答案
使用LEFT JOIN
:
SELECT u.*
FROM users u
LEFT JOIN posts p ON u.id = p.user_id
WHERE p.user_id is null;
LEFT JOIN
将为您提供那些用户,即使他们没有发布任何帖子,这些用户的 p.user_id
将等于 null。因此,添加 WHERE p.user_id is null
将为您提供那些从未发布过任何帖子的用户。
关于mysql查找未发帖的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46381984/