MySQL 中的左外连接和右外连接的和内连接
MySQL 中可以通过内外键链接, 将有关系的表中数据合并到一起进行条件筛选:
首先创建两个新表, 数据如下:
student 表数据:
score 表数据:
可以看到 students 表中 stu_id 为 16048008 的记录对应 score 表没有数据;
1. 当进行内连接时, 系统会自动忽略两个表中对应不起来的数据:
-- 显示内连接所有数据:
SELECT * FROM students st INNER JOIN score sc ON st.sid=sc.stu_id;
数据太多, 只截图最末尾的:
可以看到, 数据只显示到 16048007,16048008 的并没有显示, 所以内连接只显示所有有关联的数据.
2. 左链接, 显示关键词 left 左边表中的所有数据, 右边表数据数据少了补 NULL 值, 数据多了不显示;
-- 左外链接 left
SELECT * FROM students st LEFT JOIN score sc ON st.sid=sc.stu_id;
可以看到, 16048008 在右边 score 表中没有数据, 系统用 NUll 补齐,
SELECT * FROM score sc LEFT JOIN students st ON st.sid=sc.stu_id;
来源: http://www.bubuko.com/infodetail-3698879.html