leetcode 175 組合兩個表

2021-08-20 17:34:45 字數 654 閱讀 3723

答案**:

select

a.firstname, a.lastname, b.city, b.state

from person a left join address b on a.personid = b.personid

分析:

1)left join或left outer join 左連線

左向外聯接的結果集包括 left outer子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。

2)right join 或 right outer join 右鏈結

右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。

3)full join 或 full outer join 全聯接

完整外部聯接返回左表和右表中的所有行。當某行在另乙個表中沒有匹配行時,則另乙個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。

這裡選用左連線:

LeetCode 175組合兩個表

滿足條件 無論 person 是否有位址資訊,都需要基於上述兩表提供 person 資訊。這個條件剛好滿足左連線的概念,獲取person表所有記錄,即使address表沒有對應匹配的記錄。所以直接用左連線聯合兩個表進行查詢。select firstname,lastname,city,state f...

LeetCode 175 組合兩個表

題目 表1 person 列名 型別 personid int firstname varchar lastname varchar personid 是上表主鍵 表2 address 列名 型別 addressid int personid int city varchar state varch...

LeetCode 175 組合兩個表

編寫乙個sql查詢,滿足條件 無論person是否有位址資訊,都需要基於上述兩表提供person的以下資訊 first name,lastname,city,state write your mysql query statement below select p.firstname,p.lastn...