LeetCode数据库—组合两个表

SQL架构

Create table Person (PersonId int, FirstName varchar(255), LastName varchar(255));
Create table Address (AddressId int, PersonId int, City varchar(255), State varchar(255));
Truncate table Person;
insert into Person (PersonId, LastName, FirstName) values ('1', 'Wang', 'Allen');
Truncate table Address;
insert into Address (AddressId, PersonId, City, State) values ('1', '2', 'New York City', 'New York');

查看表记录

mysql> select * from person;
+----------+-----------+----------+
| PersonId | FirstName | LastName |
+----------+-----------+----------+
|        1 | Allen     | Wang     |
+----------+-----------+----------+
1 row in set (0.00 sec)
mysql> select * from address;
+-----------+----------+---------------+----------+
| AddressId | PersonId | City          | State    |
+-----------+----------+---------------+----------+
|         1 |        2 | New York City | New York |
+-----------+----------+---------------+----------+
1 row in set (0.00 sec)

要求:编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
FirstName, LastName, City, State

mysql> select p.FirstName,p.LastName,d.City,d.State from
    ->  person p left join address d
    ->  on p.PersonId=d.PersonId;
+-----------+----------+------+-------+
| FirstName | LastName | City | State |
+-----------+----------+------+-------+
| Allen     | Wang     | NULL | NULL  |
+-----------+----------+------+-------+
1 row in set (0.00 sec)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,075评论 2 89
  • 面试题5:union all 和 union的区别 Union:对两个结果集进行并集操作,不包括重复行,同时进行默...
    行者和他的钢笔阅读 971评论 0 1
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,848评论 0 44
  • 自尊大概是孤独者的唯一堡垒,宁愿笑着流泪也不会在你面前嚎啕大哭,那是他们傻傻坚持的理由。
    维了了阅读 351评论 0 1
  • 下雨了 风好大 我好想 为你撑起一把小伞 在为你遮风避雨 下雨了 天阴的好黑 我好想好想 为你燃起一把火焰 在为你...
    禾禾治愈系阅读 185评论 1 0