[MySQL] MySQL 内连接、外连接、左连接、右连接示例介绍
Contents
MySQL 内连接、左连接(左外连接)、右连接(右外连接)
创建示例表
|
|
内连接
组合两个表中的记录,返回两个表关联字段相交集的记录
关键字:INNER JOIN ON
|
|
左连接(左外连接)
LEFT JOIN
是LEFT OUTER JOIN
的简写,全称是左外连接,是外连接中的一种。
左(外)连接,以左表为主,返回左表全部,右表返回符合条件的记录。右表记录不存在时显示NULL。
关键字:LEFT JOIN ON
/ LEFT OUTER JOIN ON
|
|
右连接(右外连接)
RIGHT JOIN
是RIGHT OUTER JOIN
的简写,全称是右外连接,是外连接中的一种。
右(外)连接,以右表为主,返回右表全部,左表返回符合条件的记录。左表记录不存在时显示NULL。
关键字:RIGHT JOIN ON
/ RIGHT OUTER JOIN ON
|
|
指定驱动表
使用 straight_join
可以固定连接方式,让前面的表为驱动表。
|
|
建议小表驱动大表,如果是普通的join语句,一般不需要去处理,优化器默认也会选择小表做为驱动表。
FULL OUTER JOIN(全连接)
FULL OUTER JOIN(全连接)的结果其实就是LEFT JOIN 结果与RIGHT JOIN结果的并集。
需要注意的是MySQL数据库不支持FULL OUTER JOIN