zoukankan      html  css  js  c++  java
  • 多表查询与内连接,外连接

    1 多表查询:创建一个部门表和员工表并插入数据

    代码块
    use company;
    
    #创建部门表
    CREATE TABLE department (
    id int PRIMARY key  auto_increment,
    dep_name varchar(10) not null
    );
    
    #创建员工表
    CREATE TABLE employee(
    id int PRIMARY key auto_increment,
    emp_name varchar(10) not null,
    dep_id int
    -- CONSTRAINT dep_id_fk  FOREIGN key (dep_id) REFERENCES company(id) on DELETE CASCADE on UPDATE CASCADE
    #上面的外键约束没有也可以,外键约束不影响表与表之间关联,影响的是表插入数据的约束
    );
    
    #向部门表中插入数据
    insert into  department(dep_name) VALUES ('网盟营销'),('大数据中心')
    
    #向员工表中插入数据
    insert into employee(emp_name,dep_id) VALUES('wangsiyu',1),('alex',2)
    
    

    查询员工的ID,姓名,部门的名称(隐式内连接):

    代码块
    select employee.id,emp_name,dep_name from employee,department WHERE department.id=employee.dep_id;
    注意:对于两个表都同名的字段,应该在查询该字段的前面加上对应的表,否则电脑不知道你这个字段是哪个表的
    

    显式内连接: 只连接匹配的行

    select * from employee inner join department on employee.dep_id=department.id;
    

    左连接 显示左表的全部记录

    select * from employee left join department on employee.dep_id=department.id;
    
    
    

    右连接:显示右表的全部记录

    select * from employee right join department on employee.dep_id=department.id;
    

    全连接:显示两个表的全部记录,没有对应的就用空表示

    select * from employee full join department on employee.dep_id=department.id;
    

    连接查询

    别跑,点个赞再走

  • 相关阅读:
    你是老鸟吗?但是有些你可能目前都不知道的东西
    工具类合集
    也谈Flash mmorpg地图问题【转】
    大量实用工具类、开源包,该帖绝对值得你收藏!
    如何设计产品【页游】
    网络游戏中,玩家常常询问什么时候开新服,其中的本质需求是什么?
    大将军UE分析
    天天连萌UE分析
    selenium IDE 回放报错
    jenkins配置
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/12501659.html
Copyright © 2011-2022 走看看