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;
    

    连接查询

    别跑,点个赞再走

  • 相关阅读:
    seaborn---样式控制/调色板
    matplotlib---插值画二维、三维图
    25.推荐---协同过滤(Collaborative Filtering)
    PageRank
    词向量---LSA(Latent Semantic Analysis)
    深入理解Java 8 Lambda
    理解java的 多态
    Java命名规范
    Java语言中几个常用的包
    java中的类、成员变量、方法的修饰符。
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/12501659.html
Copyright © 2011-2022 走看看