Mysql—— 内连接、左连接

一、内连接查询 inner join
关键字:inner join on

语句:select * from a_table a inner join b_table b on a.a_id = b.b_id;

说明:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集(阴影)部分。

2020.4.13 - 图1

案例解释:在boy表和girl 表中查出两表 hid 字段一致的姓名(gname,bname),boy表和girl 表如下:
2020.4.13 - 图22020.4.13 - 图3

采用内连接查询方式:

SELECT boy.hid,boy.bname,girl.gname FROM boy INNER JOIN girl ON girl.hid = boy.hid;
查询结果如下:
2020.4.13 - 图4

二、左连接查询 left join
关键字:left join on / left outer join on

语句:SELECT * FROM a_table a left join b_table b ON a.a_id = b.b_id;

说明: left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。 左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。

2020.4.13 - 图5

案例解释:在boy表和girl 表中左连接查询,boy表和girl 表如下:
2020.4.13 - 图62020.4.13 - 图7

采用内连接查询方式:

SELECT boy.hid,boy.bname,girl.gname FROM boy LEFT JOIN girl ON girl.hid = boy.hid;
查询结果如下:
2020.4.13 - 图8