连接查询
外连接
外连接:outer join,按照某一张表作为主表(表中所有记录在最后都会保留),根据条件去连接另外一张表,从而得到目标数据。
外连接分为两种:左外连接(left join),右外连接(right join)
左连接:左表是主表
右连接:右表是主表
原理
1、确定连接主表:左连接就是left join左边的表为主表:right join就是右边作为主表
2、拿主表的每一条记录,去匹配另外一张表(从表)的每一条记录
3、如果满足匹配条件,保留;不满足即没有数据对应,从表对应记录显示null
4、如果主表记录在从表中一条都没有匹配成功,那么也要保留该记录,从表对应的字段值都为null。
语法
基本语法:
左连接,主表 left join 从表 on 连接条件;
右连接:从表 right join 主表 on 连接条件;
左连接对应的主表数据在左边:右连接对应的主表数据在右边
mysql> select * from student;
+----+------+
| id | name |
+----+------+
| 1 | 小明 |
| 2 | 小可 |
| 3 | 小艾 |
| 4 | 小新 |
+----+------+
4 rows in set (1.70 sec)
mysql> select * from teacher;
+------+------+
| name | age |
+------+------