内链接、左右连接、union并集

第一个:内连接接

  • inner join  

  select   *   from   a   inner   join   b   on   a.id=b.id 

  • where a.id =b.id  (这种用法非常常见)

  select   *   from   a,b   where   a.id=b.id    

第二种:左右连接

  • 左连接 left join on.....,查询结果为左边的所有记录,右表无的记录显示null
  • 右连接 right join on .....,查询结果为右边的所有记录,左表无的显示为null

    如图:右连接班级表,班级中的有一个班级3,在成绩表中无班级3的记录,所以左表显示为null

            内链接、左右连接、union并集

   左连接亦是如此的,如下图:

          内链接、左右连接、union并集

第三:接下来到union 和union all ,对两个结果进行并集操作,不同的是union all 并集操作时,不去掉重复的数据;一般用于统计查询

   union 用于合并两个或多个查询结果,有以下条件需要满足(根据行合并):

  • 相同数量的列;
  • 列必须拥有相类似的数据类型
  • 同时,每条select语句中的列顺序必须相同

union对两个结果进行并集操作,选择班级id=1 和班级id 小于3的结果,并在一起显示;(没有重复的数据)

   内链接、左右连接、union并集

union all 包含重复数据,方便看出结果,查询条件直接相同了,直接明了

        内链接、左右连接、union并集

实践出真知,多动手实操吧!