簡體   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