1. 程式人生 > >LeetCode-175. 組合兩個表(SQL語句中的LEFT JOIN)

LeetCode-175. 組合兩個表(SQL語句中的LEFT JOIN)

題目連結:

組合兩個表

題目描述:

表1: Person

+-------------+---------+
| 列名         | 型別     |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
PersonId 是上表主鍵

表2: Address

+-------------+---------+
| 列名         | 型別    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
AddressId 是上表主鍵

編寫一個 SQL 查詢,滿足條件:無論 person 是否有地址資訊,都需要基於上述兩表提供 person 的以下資訊:

FirstName, LastName, City, State

解題思路:

本題目用到的知識是SQL語句中的LEFT JOIN

LEFT JOIN 就是將兩個表連線起來,無論邊的表中的資訊是否能夠在右邊的表格中找到,都會顯示邊表格的資訊

同理,RIGHT JOIN 就是將兩個表連線起來,無論邊的表中的資訊是否能夠在右邊的表格中找到,都會顯示邊表格的資訊

解題程式碼:

# Write your MySQL query statement below
SELECT Person.FirstName,Person.LastName,Address.City,Address.State
FROM Person LEFT JOIN Address
ON Person.PersonId = Address.PersonId