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

     

     

     

     

  • 相关阅读:
    Hibernate 再接触 事务隔离机制
    Hibernate 再接触 一级缓存 二级缓存 查询缓存
    Hibernate 再接触 性能优化
    Hibernate 再接触 HQL
    Hibernate 再接触 树状结构设计以及学生课程成绩表的设计
    DotNetBar.MetroTilePanel 样式、加载数据、获取数据
    C# superGridControl 样式设置、加载数据、获取数据
    system.data.oracleclient 需要 8.17 需要oracle客户端问题
    程序员必备
    LinQ to sql
  • 原文地址:https://www.cnblogs.com/wodexk/p/10706596.html
Copyright © 2011-2022 走看看