Left 、right join使用笔记
用过很多次left join,right join,看到查询出的结果,知道可能是没用left join、或者right join导致的结果,但都是用一次,网上查一次使用规则,学到的东西只是皮毛。今天用文字记录一下,加深印象,知根知底才能学的好。
在我们查一个表的时候
比如:
人员信息表:
编号 | 名称 | 部门ID | 年龄 | 职务ID | 性别 | 电话 |
122 | 李晶晶 | 1 | 26 | 1 | 女 | 2234555 |
123 | 张金 | 1 | 29 | null | 男 | 3322123 |
124 | 王力 | 2 | 35 | 1 | 男 | 2245553 |
125 | 李心 | 3 | 21 | 2 | 女 | 3332233 |
126 | 鲁兰 | null | 232 | null | 女 | 3486443 |
职务信息表:
职务ID | 职务名称 |
1 | 职员 |
2 | 经理 |
这里有两张表,我希望查询的结果是得到各人员表的职位信息我职位名称,没有对应职位的不查出来。以上就是需求,接下来是查的结果。
当两张表的的联合查询时,where条件是职务id相等,这里查出来的结果就会往往会超过我们的预期结果!
人员信息表中有些职务id是职务信息表中职务id没有的,所以会有出现职务为空的数据,但我们只需要职务为1、2两个职务的数据,所以,这个时候,我们就得以职务表为基准表,left join人员信息表,这样才能是以职务信息表为准的数据
总结:
当两个或者两个以上的表联合查询时,如果两个表的数据不能一一对应,那么,我们只能以某个表为基准表,进行left join、或者right join,以基准表里有的数据为准
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南