SQL中的连接查询

             1)整体说明

SQL中的连接查询_第1张图片

                  1>  所谓连接,按字面理解就是将表拼在一起,当做一张表使用

                  2>  内连接:顾名思义,也就是两张表的重叠部分(即青色部分)都满足才行

                  3>  左外连接:也就是将左边的表也连接起来,结果就是所有左边的数据加上满足重叠部分条件的右边部分

                  4>  右外连接:右边所有表的数据,加上满足重叠部分条件的左边的数据

                  5>  join:后面跟要拼在一起的那张表   on:后面跟两张表关联的地方

             2)测试

                   t_department表:

                  SQL中的连接查询_第2张图片

                 t_employee表:

                 SQL中的连接查询_第3张图片

               t_employee表通过departmentId与表t_department进行多对一关联

              1>  内连接

          SELECT * 
          FROM t_department d 
          JOIN t_employee e 
          ON e.departmentId = d.id
                  结果为:

                SQL中的连接查询_第4张图片

               实际上就是两张表中只要满足中间部分条件的数据

                 等效sql为:

        SELECT * 
        FROM t_department d ,t_employee e 
        WHERE e.departmentId = d.id
            2>  左外连接

       SELECT * 
       FROM t_department d 
       LEFT JOIN t_employee e 
       ON e.departmentId = d.id
             结果为:

            SQL中的连接查询_第5张图片

           也就是左边表的数据全都要,右边表只要满足中间部分条件的数据

           3>  右外连接

      SELECT * 
      FROM t_department d 
      RIGHT JOIN t_employee e 
      ON e.departmentId = d.id
            结果为:

           SQL中的连接查询_第6张图片

        实际上就是右边表全部都要,左边只要满足中间部分条件的

你可能感兴趣的:(数据库)