zoukankan      html  css  js  c++  java
  • LeetCode-175:组合两个表

    题目描述:

    表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 Person (PersonId int, FirstName varchar(255), LastName varchar(255));
    2 Create table Address (AddressId int, PersonId int, City varchar(255), State varchar(255));
    3 Truncate table Person;
    4 insert into Person (PersonId, LastName, FirstName) values ('1', 'Wang', 'Allen');
    5 Truncate table Address;
    6 insert into Address (AddressId, PersonId, City, State) values ('1', '2', 'New York City', 'New York');

    解题思路:

      题目要求不管有没有地址信息,都需要返回person的信息,使用left join连接即可

    解决方案:

    select a.FirstName, a.LastName, b.City, b.State
      from Person a
      left join Address b
        on a.PersonId = b.PersonId
     
  • 相关阅读:
    大厂的面试官是如何挑人的?
    搞懂这7个Maven问题,带你吊打面试官!
    Spring Cloud Eureka 注册安全一定要做到位!
    09 webpack的介绍
    08 node.js 的使用
    07 Node.js安装及环境配置
    06-Nodejs介绍
    05-面向对象
    Mysql 的使用方法
    04-对象的单体模式
  • 原文地址:https://www.cnblogs.com/zouqf/p/10282049.html
Copyright © 2011-2022 走看看