zoukankan      html  css  js  c++  java
  • Mysql_项目5:左连接

    项目5:组合两张表 (难度:简单) 

    在数据库中创建表1和表2,并各插入三行数据(自己造)

    表1: Person

    +-------------+---------+ 

    | 列名 | 类型 |

    +-------------+---------+

    | PersonId | int |

    | FirstName | varchar |

    | LastName | varchar |

    +-------------+---------+ 

    PersonId 是上表主键

     

     -- 创建person表并插入数据

    -- 创建表
    CREATE TABLE person (
    personid int(11) NOT NULL,
    firstName varchar(50) NOT NULL,
    lastName varchar(50) NOT NULL,
    PRIMARY KEY (`personid`)) ;
    
    -- 插入数据
    INSERT INTO `person` VALUES ('1', 'xiao', 'ming');
    INSERT INTO `person` VALUES ('2', 'xiao', 'hei');
    INSERT INTO `person` VALUES ('3', 'xiao', 'long');
    INSERT INTO `person` VALUES ('4', 'xiao', 'hong');
    INSERT INTO `person` VALUES ('5', 'xiao', 'lei');

     

    表2: Address

    +-------------+---------+

    | 列名 | 类型 |

    +-------------+---------+

    | AddressId | int |

    | PersonId | int |

    | City | varchar |

    | State | varchar | 

    +-------------+---------

    AddressId 是上表主键

     

      -- 创建address表并插入数据

    -- 创建表
    CREATE TABLE address (
    addressId int(11) NOT NULL,
    personId int(11) NOT NULL,
    city varchar(255) NOT NULL,
    state varchar(255) NOT NULL,
    PRIMARY KEY ('addressId')) ;
    
    -- 插入数据
    INSERT INTO address VALUES ('1', '1', 'hangzhou', 'zhejiang');
    INSERT INTO address VALUES ('2', '3', 'shenzheng', 'guangdong');
    INSERT INTO address VALUES ('3', '4', 'shijiazhuang', 'hebei');
    INSERT INTO address VALUES ('4', '5', 'heifei', 'anhui');

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

    SELECT p.firstName,p.lastName,a.city,a.state
    FROM person p
    LEFT JOIN
              address a
    on  p.personid = a.personId

     

     

     

     

  • 相关阅读:
    洛谷P1710 地铁涨价
    洛谷P1371 NOI元丹
    洛谷P2409 Y的积木
    洛谷P3392 涂国旗
    洛谷P3370 【模板】字符串哈希
    洛谷P3379 【模板】最近公共祖先(LCA)
    洛谷P3372 【模板】线段树 1
    洛谷P3373 【模板】线段树 2
    Android(java)学习笔记31:泛型高级之通配符
    Android(java)学习笔记30:泛型接口的概述和使用
  • 原文地址:https://www.cnblogs.com/wodexk/p/10706596.html
Copyright © 2011-2022 走看看