【问题标题】:How to select data from parent table that don't associated with foreign key in child one如何从父表中选择与子表中的外键无关的数据
【发布时间】:2018-03-10 11:51:56
【问题描述】:

有两个表(Person 和 Car)通过子表中的外键相互关联。 Person 表可以有重复的人名。我需要从 Person 中选择没有任何汽车与之关联的所有唯一名称。换句话说,我必须检查哪些人没有任何汽车并选择它们。

【问题讨论】:

  • 提示:NOT EXISTS。或NOT IN。或LEFT JOINWHERE

标签: mysql sql select


【解决方案1】:

您可以使用not exists 运算符:

SELECT DISTINCT name
FROM   person p
WHERE  NOT EXISTS (SELECT * 
                   FROM   car c
                   WHERE  p.id = c.owner_id)

【讨论】:

    【解决方案2】:

    这是许多可能的查询之一。

    SELECT p.name 
    FROM person p LEFT OUTER JOIN car c 
         ON p.id = c.id
    WHERE c.id is NULL;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 2019-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多