学员表
SELECT * FROM tb_address;
SELECT * FROM tb_student
1.JOIN关联两个表数据,将匹配数据展示,数据无匹配值则不展示
注释:INNER JOIN与JOIN是相同
SELECT
*
FROM
tb_student stu
JOIN tb_address address
ON stu.`id` = address.`stu_id` ;
2.LEFT JOIN返回左表的全部行和右表满足ON条件的行,如果左表的行在右表中没有匹配,那么这一行右表中对应数据用NULL代替。
举例如下 从 student角度查询对应的address数据,student信息全部展示,没有对应address值展示null
SELECT
*
FROM
tb_student stu
LEFT JOIN tb_address address
ON stu.`id` = address.`stu_id` ;
3.RIGHT JOIN返回右表的全部行和左表满足ON条件的行,如果右表的行在左表中没有匹配,那么这一行左表中对应数据用NULL代替。
举例如下 从 address角度查询对应学员信息,address表数据全部展示,无对应学员信息则展示null
SELECT
*
FROM
tb_student stu
RIGHT JOIN tb_address address
ON stu.`id` = address.`stu_id` ;
4.FULL JOIN 会从左表 和右表 那里返回所有的行。如果其中一个表的数据行在另一个表中没有匹配的行,那么对面的数据用NULL代替
不常用,有时候数据库不支持