10.3 使用多个表的所有记录
10.3.1 什么事外连接
- 使用了JOIN(或INNER JOIN)的“内连接”只会提取与连接键想匹配的记录
因此仅存在于某个表内的记录将被忽略,但是在实际情况中,我们也会遇到必须显示这些记录的情况,这时我们需要使用外连接。
- 即使与连接键不匹配,外连接也会提取另一个表中的所有记录
10.3.2 外连接的种类
根据连接时要提取的是哪个表的全部记录,外连接可分为以下两种类型。以下类型按照“SELECT ... FROM ...表1 ...JOIN 表2 ...”的进行说明。
- 左外连接(LEFT JOIN)
显示“相匹配的记录”和“表1(左表)的全部记录”
- 右外连接(RIGHT JOIN)
显示“相匹配的记录”和“要连接的表2(右表)的全部记录”
10.3.3 使用左外连接
命令格式:SELECT 列名 FROM 表1 LEFT JOIN 要连接的表2 ON 表1的列=表2的列;
练习:将列empid作为连接键,使用左外连接显示表tb和tb1相匹配的记录,以及表tb的左右记录。但是仅显示表tb的列empid和表tb1的列name。
输入&执行结果:
mysql