mysql常用基础操作语法(九)~~外连接查询【命令行模式】

时间:2021-10-04 05:22:04
1、左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样:
mysql常用基础操作语法(九)~~外连接查询【命令行模式】
mysql常用基础操作语法(九)~~外连接查询【命令行模式】

左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须要全部显示出来,如下图:
mysql常用基础操作语法(九)~~外连接查询【命令行模式】
mysql常用基础操作语法(九)~~外连接查询【命令行模式】

这里第一个查询中,company表在左边,因此就以company为基准,所以显示的结果中除了depart_id相同的6条数据外,还把company中存在的另外一条也显示出来。

而第二个查询中,emp在左边,就以emp为基准,因此显示的结果中除了depart_id相同的6条外,还把emp中存在的另外一条也显示了出来。

2、右外连接right join:
mysql常用基础操作语法(九)~~外连接查询【命令行模式】
mysql常用基础操作语法(九)~~外连接查询【命令行模式】

单从上边的两个查询的查询来看,除开字段顺序的不同外,和左外连接的操作是很相似的。只不过一个是以left join左边的表为基准,而另一个是以right join右边的表为基准。(有朋友说left join的性能比较好,这个暂时先不管,等到性能测试方面的时候再说)

3、全连接full join,这个和上边略有不同的是,语法中不用在join后边使用on,直接select 字段名 from tablename1 full join tablename2;而它 的结果也会出现之前提到的笛卡尔积现象,也就是显示(表1的字段数加上表二的字段数)个字段,显示(表一的记录数乘以表二的记录数)个记录;
mysql常用基础操作语法(九)~~外连接查询【命令行模式】
mysql常用基础操作语法(九)~~外连接查询【命令行模式】