Mysql---关联查询(内连接、外连接区别)

2022-10-09 14:39:21

笛卡尔积 :简单概括一个表里的记录要分别和另外一个表的记录匹配为一条记录,即如果表1有3条记录,表2也有3条记录,经过笛卡尔运算之后就应该有3*3即9条记录.

多表联合查询主要分为三种:内连接、外连接(左外连接,右外连接,全外连接)、自然连接
在这里插入图片描述

自然连接:自然连接是一种特殊的等值连接,他要求两个关系表中进行比较的必须是相同的属性列(必须同名),无须添加连接条件,并且在结果中消除重复的属性列。
内连接:内连接基本与自然连接相同,不同之处在于自然连接要求是同名属性列的比较,而内连接则不要求两属性列同名, on来指定某两列字段相同的连接条件。
sql语句:Select …… from 表1 inner join 表 2 on 表1.A=表2.E
在这里插入图片描述

外连接:可以显示属性值不相同的数据。
左外连接:左外连接是在两表进行自然连接,只把左表要舍弃的保留在结果集中,右表对应的列上填null。
sql语句:Select …… from 表1 left outer join 表2 on 表1.C=表2.C
在这里插入图片描述

右外连接
右外连接是在两表进行自然连接,只把右表要舍弃的保留在结果集中,左表对应的列上填null。
Select …… from 表1 rignt outer join 表2 on 表1.C=表2.C
在这里插入图片描述

全外连接:全外连接是在两表进行自然连接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填null。
Select …… from 表1 full join 表2 on 表1.C=表2.C
在这里插入图片描述

区别:
1.自然连接与内连接只能查询到属性值相同的数据,外连接可以保存属性值不匹配的数据。

  • 作者:冯同学奔向IT的过程
  • 原文链接:https://blog.csdn.net/qq_45657986/article/details/115561651
    更新时间:2022-10-09 14:39:21