47 - 组合两个表
题目
SQL架构
表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,leetcode咋知道我刚开始学sql呢?
Runtime: 214 ms, faster than 79.29% of MySQL online submissions forCombine Two Tables.
Memory Usage: N/A
大概意思是,做一张新表,里面包括了FirstName, LastName, City, State
这四个列。
数据从Person
和Address
里面取,Person
的数据都要保留,对应的列如果Address
没有就让它为null
。
两表数据根据PersonId
来匹配
select的列表名,如果加了括号就会报错,似乎是被当成了一列。
Last updated
Was this helpful?