业务 - sql同样查询结果,使用左连接还是内连接?

查看:114
本文介绍了业务 - 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆