Mysql te如何从表A中选择表B中不存在的记录

Mysql te如何从表A中选择表B中不存在的记录,mysql,Mysql,例如,我的表格如下所示: Table `users` id | name 1 | John 2 | Wick 3 | Doe Table `already_selected` user_id 2 在这个场景中,我需要从表users中获取所有用户,这些用户不存在于已选择的表中。我正试图这样做: SELECT * FROM `users` as `u` JOIN `already_selected` as `as` ON `u`.`id` = `as`.`user_id` WHERE

例如,我的表格如下所示:

Table `users`
id | name
 1 | John
 2 | Wick
 3 | Doe

Table `already_selected`
user_id
   2
在这个场景中,我需要从表users中获取所有用户,这些用户不存在于已选择的表中。我正试图这样做:

SELECT *
FROM `users` as `u`
JOIN `already_selected` as `as` ON `u`.`id` = `as`.`user_id`
WHERE `as`.`user_id` IS NULL
这将返回空结果。我的错在哪里?我在谷歌上发了很多文章,似乎这是一种方式,但仍然没有任何效果。

你需要使用左连接

SELECT *
FROM `users` as `u`
LEFT JOIN `already_selected` as `as` ON `u`.`id` = `as`.`user_id`
WHERE `as`.`user_id` IS NULL