繁体   English   中英

SQL-联接表并非总是如此

[英]SQL - Joining tables BUT not always

我需要执行连接三个表的查询SELECT(这没有问题)。 但是,第三个表可以具有或不具有与联接KEY匹配的任何元素。

我想要前两个表中的所有数据,如果ITEMS在第三个表中也有ALSO信息,则将此数据提取到其中。

例如,假设第一个表有一个人,第二个表有他/她的地址(每个人都住在任何地方),第三个表存储了驾驶执照(并非每个人都有这个)-但是我需要获取所有数据,无论是否人(所有人)都有驾驶执照。

非常感谢您的阅读,如果可以给您建议/解决方案!

使用LEFT JOIN第三个表。 使用INNER JOIN必须存在一行。 使用LEFT JOIN ,“空白”将填充为NULL

SELECT
  p.PersonID, -- NOT NULL
  -- dl.PersonID, -- Can be null. Don't use this one.
  p.FirstName,
  p.LastName,
  a.City,
  a.Street,
  dl.ValidUntilDate
FROM
  Person p
  INNER JOIN Addresse a ON a.AddressID = p.HomeAddressID
  LEFT JOIN DrivingLicence dl ON dl.PersonId = p.PersonID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM