业务 - sql同样查询结果,使用左连接还是内连接?
本文介绍了业务 - sql同样查询结果,使用左连接还是内连接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
业务: 举个列子,学生表,学生考勤记录表
-
问题:查询考勤的时候要列出学生的基本信息
主表: 考勤记录表 r_record 从表:学生表 t_student
select * from t_record r,t_student s
where s.id = r.stu_id
select * from t_record r
left join t_student t on t.id = r.stu_id
两种查询都可以返回想要的结果,但是学生信息可能在查询的时候已经被删除了,第一种查询就会有问题,而第二种仍能返回记录,但学生基本信息都没了,要记录也没实际意义, 想问下,在实际开发中,是改如何抉择呢?
解决方案
这个问题更多的要从需求看,希望得到什么样的结果。
从你说的场景推断,应该重点是看学生的考勤记录明细,那么应该在学生表有记录才有意义,因此内连接的方式就可以了。
如果是计算学生的考勤次数之类的统计报表,可能需要使用t_student left join t_record的方式,因为存在学生没有考勤记录的情况。
这篇关于业务 - sql同样查询结果,使用左连接还是内连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文