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