【问题标题】:How te select records from table A which doesn't exist in table B [duplicate]如何从表 A 中选择表 B 中不存在的记录 [重复]
【发布时间】: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

这将返回空结果。我的错误在哪里?我在谷歌周围红了文章,似乎是这样但仍然没有。

【问题讨论】:

    标签: mysql


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 2013-03-31
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多