Processing math: 100%
随笔 - 90,  文章 - 4,  评论 - 58,  阅读 - 77993

首先先建两个表,student表和score表

 select * from student;

student表数据如下:

 

select * from score;

score表数据如下:

  

可以看到students表中stu_id为16048008的记录对应score表没有数据;

1.内连接只显示两表中有关联的数据

select * from student inner join score on student.sid = score.stu_id;

 

从表中可以看出student表中sid=16048008,sid=16048009,sid=160480010在score表中没有对应数据,所以内连接的结果不显示这三名学生

 

2.左连接显示左表所有数据,右表没有对应的数据用NULL补齐,多了的数据删除

select * from student left join score on student.sid = score.stu_id;

从结果可以看出sid=16048008,sid=16048009,sid=160480010在score表中没有数据的部分用NULL代替

 

3.右连接显示右表所有数据,左表没有对应的数据用NULL对齐,多了的数据删除

select * from student right join score on student.sid = score.stu_id;

score表中没有的数据student表也不显示

posted on   深海收破烂  阅读(1800)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示