Leetcode 175 組合兩張表

2021-10-03 02:59:37 字數 601 閱讀 5546

題目難度

簡單題目描述

答案

select p.firstname, p.lastname, a.city, a.state

from person as p

left

join address as a

on p.personid = a.personid

分析
from person p,address a

where p.personid = a.personid

知識點

資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用left jion時,on和where條件的區別如下:

on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。

where條件是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。

leetcode 175 組合兩個表

答案 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 左連線 左向外聯接的結果...

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...