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
     
  • 相关阅读:
    ASPxGridView之ASPxGridViewExporter
    Asp.net中,从弹出窗体取选择值
    ASPxGridView中常用操作
    asp.net Webconfig
    白皮书 CPU卡基本知识
    Linux 中的计时 转自IBM china
    网络无缝融合技术(转)
    UMA相关的网站
    几本不错的书
    手机基带芯片供应商严阵以待,备战3G市场
  • 原文地址:https://www.cnblogs.com/zouqf/p/10282049.html
Copyright © 2011-2022 走看看