版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Kangyucheng/article/details/83042198
题目链接:
题目描述:
表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