MySQL之摆布连贯的区别
![](/uploads/allimg/200930/5eb222bcea5aa44514743.jpg)
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值,数据多了不显示;
-- 左外链接 leftSELECT * 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;
上图是我们将students表和score表换了一下位置的运转结果,可以看出,原本右侧表16048008记载,由于在左边表钟没有数据对应,所以被删除了,可以看出,左链接是以左边表中数据为参照,显示左边表中所有数据,右侧表,只显示与左边表对应的数据,少了补NULl,多了删除;
同理,右链接是以右侧为参照,左边少了补NULL,多了删除,这里就不多说了;
以上可以得出:
1.内连接,显示两个表中有联络的所有数据;
2.左链接,以左表为参照,显示所有数据;
3.右链接,以右表为参照显示数据;
简简便单,不急不躁,每天充实而不乱的前行!
引荐学习:mysql教程
以上就是MySQL之摆布连接的不同的具体内容,更多请关注百分百源码网其它相关文章!