springboot级联Sql查询

在SpringBoot项目中,处理前端级联选择框的数据时,经常需要进行多表查询。例如,教师(Teacher)和学生(Student)表,查询学生与其班主任及校长的上下级关系。通过LEFTJOIN两次Teacher表,可以获取到从校长到班主任再到学生的完整链路。如果需要考虑其他字段的条件,可以添加额外的查询限制。
摘要由CSDN通过智能技术生成

在springboot项目中常常会遇到前端存在级联框,需要在sql中多表联查出这种链式关系数据

多表查询,也被称为多表连接查询。

为什么会有多表查询这个操作呢?

在实际项目开发过程中,会出现多张表,用于分类存储不同的信息,我们测试需要的数据也会来自不同的表,因此需要使用多表查询。

以下用两张为例,Teacher表和Student表,需要查出校长老师学生的上下级对应关系:

Teacher表:

Student表:

 班主任1对应校长1,下面对应着学生张三、王五

因此在Student表中查询,LEFT JOIN teacher表

SELECT 
  t.`Name` AS "第二级",
  s.Name AS "第三级" 
FROM
  student s 
  LEFT JOIN `teacher` t 
    ON s.`PreId` = t.`Id` 

 查询得到结果:

 查询出了班主任和学生的对应关系,还需再LEFT JOIN 一次Teacher表得到班主任和校长的对应关系

SELECT 
t1.`Name` AS "第一级",
t.`Name` AS "第二级",
s.Name AS "第三级"
FROM student s 
LEFT JOIN `teacher` t
ON s.`PreId` = t.`Id`
LEFT JOIN `teacher` t1
ON t.`preId` = t1.`Id`

查询得到结果:

至此就查询完成,如果需考虑字段是否启用等,需根据需求添加查询限制条件

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值