MySQL_多表

多表查询🙃

  • 复习查询语法

    1
    2
    3
    4
    5
    SELECT
    列名称
    FROM
    表名称
    where 条件
  • 准备一个多表

  • 笛卡尔积

    • 有两个集合 A,B 取出这两个集合的所有组成情况
    • 多表查询,需要消除无用数据
  • 内连接查询:

    1. 隐式内连接:用where来去除无用信息

      1. 没有使用别名

      2.查询姓名年龄部门表

    2. 显式内连接:

    1. 内连接查询:
      1. 从哪些比表中查询数据
      2. 条件是什么
      3. 查询什么字段
    • 外连接

      1. 左外链接

        • 语法 OUTER 可以省略
        1
        2
        3
        SELECT emp.`id`,emp.`NAME`,dept.`NAME` FROM emp LEFT OUTER JOIN  dept ON emp.`dept_id`=dept.`id`;

        * 用处:会以左边的表格为主,即使与关联表为空 也能显示出来
      • 查询的左表所有数据以及其交集部分
      1. 右外链接

        • 语法

          1
          2
          3
          4
          5
          6
          7
          8
          SELECT  
          t2.`id`,t2.`NAME`,t1.`NAME`
          FROM
          dept t1
          RIGHT JOIN
          emp t2
          ON
          t2.`dept_id`=t1.`id`;
* 其实和做外链接相同只是表格左右的悬着
  
   * 查询的右表所有数据以及其交集部分
   
   * ![](https://qaq233.oss-cn-hongkong.aliyuncs.com/MySQL/MYSQL_13.png)
  • 子查询

本文标题:MySQL_多表

文章作者:IceFeng

发布时间:2019年10月21日 - 12:40:26

最后更新:2019年10月25日 - 22:10:07

原始链接:https://www.icefeng.cc/2019/mySQL-DCL/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

------ 本文结束 ------
0%