第05章01节-连接查询-基础概念

连接查询

一、什么是连接查询

  1. 从一张表中查询数据称为单表查询。
  2. 从两张或更多张表中联合查询数据称为多表查询,又叫做连接查询
  3. 什么时候需要使用连接查询?
    1. 比如这样的需求:员工表中有员工姓名,部门表中有部门名字,要求查询每个员工所在的部门名字,这个时候就需要连接查询。

二、连接查询的分类

  1. 根据语法出现的年代进行分类:
    1. SQL92(这种语法很少用,可以不用学。)
    2. SQL99(我们主要学习这种语法。)
  2. 根据连接方式的不同进行分类:
    1. 内连接
      1. 等值连接
      2. 非等值连接
      3. 自连接
    2. 外连接
      1. 左外连接(左连接)
      2. 右外连接(右连接)
    3. 全连接
      1. MySQL不支持全连接

三、笛卡尔积现象

  1. 当两张表进行连接查询时,如果没有任何条件进行过滤,最终的查询结果条数是两张表条数的乘积。为了避免笛卡尔积现象的发生,需要添加条件进行筛选过滤。
  2. 需要注意:添加条件之后,虽然避免了笛卡尔积现象,但是匹配的次数没有减少
  3. 为了SQL语句的可读性,为了执行效率,建议给表起别名
    • 表的别名.字段名