zoukankan      html  css  js  c++  java
  • Mysql 多表查询

    一、定义:

      多表查询包括二张表以上的表的查询,其中有内连拉、左外、右外连接的查询

    二、数据准备

    CREATE TABLE emp(
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(20),
        salary DOUBLE(7,2),
        dep_id INT
    );
    
    INSERT INTO emp (name,salary,dep_id) VALUES ("张三",8000,2),
                                                ("李四",12000,1),
                                                ("王五",5000,2),
                                                ("赵六",8000,3),
                                                ("猪七",9000,1),
                                                ("周八",7000,4),
                                                ("蔡九",7000,2);
    
    CREATE TABLE dep(
          id INT PRIMARY KEY AUTO_INCREMENT,
          name VARCHAR(20)
    );
    
    
    INSERT INTO dep (name) VALUES ("教学部"),
                                  ("销售部"),
                                  ("人事部");

    三、内连接

    查询两张表中都有的关联数据,相当于利用条件从笛卡尔积结果中筛选出了正确的结果。

    SELECT FROM emp,dep WHERE emp.dep_id=dep.id; 或 SELECT FROM emp INNER JOIN dep ON emp.dep_id=dep.id;

    四、左外连接

    在内连接的基础上增加左边有右边没有的结果

    SELECT FROM emp LEFT JOIN dep ON dep.id=emp.dep_id;

    五、右外连接

    在内连接的基础上增加右边有左边没有的结果

    SELECT FROM emp RIGHT JOIN dep ON dep.id=emp.dep_id;

  • 相关阅读:
    自我介绍
    币值转换
    打印沙漏
    对我影响最大的三位老师

    pta
    pta-3
    学习计划
    对我有影响的三个老师
    介绍自己
  • 原文地址:https://www.cnblogs.com/liuxiaowei/p/7520436.html
Copyright © 2011-2022 走看看