mysql 实现表连接(左,右,内,全连接)【转】

查询中出现两个表的连接,下面通过实例来讲解一下各种连接查询的不同之处

表 a,和表b 如下图
a 表中 有 abcd

b表中有 abcf

内连接:

SELECT * from a INNER JOIN b on a.name=b.id;

得出结果 如图,选择等值的结果(abc)

左连接:

SELECT * from a left JOIN b on a.name=b.id;

查询结果如图,选择a表为基准。(abcd)

右连接:

SELECT * from a right JOIN b on a.name=b.id;

查询结果如图,选择a表为基准。(abcf)

全连接:mysql不支持全连接(full join),可以使用 left join+ union+right join 

(SELECT  * from a left JOIN b on a.name=b.id) UNION   (SELECT  * from a RIGHT JOIN b on a.name=b.id );

结果是全部都显示,如下图:

原文链接:https://jingyan.baidu.com/article/f3e34a12f05bfaf5ea65354a.html

posted @ 2020-03-02 17:33  小猿笔记  阅读(662)  评论(0编辑  收藏  举报