如何从表 A 中选择表 B 中不存在的记录 [重复]
Posted
技术标签:
【中文标题】如何从表 A 中选择表 B 中不存在的记录 [重复]【英文标题】:How te select records from table A which doesn't exist in table B [duplicate] 【发布时间】:2021-01-26 14:21:56 【问题描述】:例如,我的表格如下所示:
Table `users`
id | name
1 | John
2 | Wick
3 | Doe
Table `already_selected`
user_id
2
在这种情况下,我需要从表users
中获取所有用户,这些用户在表already_selected
中不存在。我正在尝试这样做:
SELECT *
FROM `users` as `u`
JOIN `already_selected` as `as` ON `u`.`id` = `as`.`user_id`
WHERE `as`.`user_id` IS NULL
这将返回空结果。我的错误在哪里?我在谷歌周围红了文章,似乎是这样但仍然没有。
【问题讨论】:
【参考方案1】:你需要使用LEFT JOIN
SELECT *
FROM `users` as `u`
LEFT JOIN `already_selected` as `as` ON `u`.`id` = `as`.`user_id`
WHERE `as`.`user_id` IS NULL
【讨论】:
以上是关于如何从表 A 中选择表 B 中不存在的记录 [重复]的主要内容,如果未能解决你的问题,请参考以下文章