关于SQL语句的左连接和右连接,内连接和外连接的区别

数据库版本为

mysql  Ver 14.14 Distrib 5.6.26, for Win64 (x86_64)

首先举个例子:(左连接和右连接)

现在我们有俩张表中内容如下。

关于SQL语句的左连接和右连接,内连接和外连接的区别_第1张图片

我们使用左连接查询测试:
 

select A.*,B.* from A left outer join B on A.id1 = B.id2;

结果:查出的结果为,着重参考于左边的表。

1,如果左边的表中未出现的记录将不会出现在查询结果之中

2,如果右边的表没有,左边的表存在记录那么查询出来的结果的右边的内容为NULL,如图所示。
关于SQL语句的左连接和右连接,内连接和外连接的区别_第2张图片

 

右连接的实例SQL:

 select A.*,B.* from A right outer join B on A.id1 = B.id2;


关于SQL语句的左连接和右连接,内连接和外连接的区别_第3张图片

结果和上面类似。

 

内连接的结果如下所示:

关于SQL语句的左连接和右连接,内连接和外连接的区别_第4张图片

我们可以看到内连接只打印公共的部分的结果。

它和我们不加inner的关键字的结果是一样的结果。

关于SQL语句的左连接和右连接,内连接和外连接的区别_第5张图片

 

总结:

1,一般来说内连接和我们正常的自然联结一样。

2,外联结无法单独使用需要结合left 左联结或  right 右联结关键字一起使用。因为不指明左联结还是右联结,系统可能不知道着重参考那个表(对于不是公共的部分)。

 

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