【LeetCode】175.组合两个表

LeetCode 马富天 2019-12-13 21:04:36 2 0

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

表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 语句:

  1. CREATE TABLE `address` (
  2.   `AddressId` int(11) NOT NULL,
  3.   `PersonId` int(11) DEFAULT NULL,
  4.   `City` varchar(255) DEFAULT NULL,
  5.   `State` varchar(255) DEFAULT NULL,
  6.   PRIMARY KEY (`AddressId`)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  8. CREATE TABLE `person` (
  9.   `PersonId` int(11) NOT NULL,
  10.   `FirstName` varchar(255) DEFAULT NULL,
  11.   `LastName` varchar(255) DEFAULT NULL,
  12.   PRIMARY KEY (`PersonId`)
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

SQL:

  1. select FirstName, LastName, City, State 
  2. from Person as p 
  3. left join Address as a 
  4. on p.PersonId = a.PersonId

版权归 马富天PHP博客 所有

本文标题:《【LeetCode】175.组合两个表》

本文链接地址:http://www.numberer.net/432.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

这是第一篇文章

这是最后一篇文章

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码