我有一张桌子user和一张桌子post.它是一个N-1关系,意味着关系是通过完成的post.user_id.
我想找到没有帖子名为"foobar"的用户.我试过这个:
SELECT `users`.* FROM `users`
INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id`
WHERE post.title !="foobar"
Run Code Online (Sandbox Code Playgroud)
如果一个用户有一个名为foobar的帖子,则不会返回,但只要有一个名为foobar的帖子,就会返回该用户.
在SQL中我怎么说"我希望没有一个名为foobar的帖子的用户".
试试:
SELECT *
FROM `users` u
WHERE NOT EXISTS (
SELECT 1
FROM `posts`
WHERE title = 'foobar'
AND user_id = u.id
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |