子查询的另一种方式——映射

时间:2022-04-24
本文章向大家介绍子查询的另一种方式——映射,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
          课程表:
                    id   title
                     1    物理
                     2    生物
                     3    化学
                    
                    
                成绩表:
                    id   课程ID   学生姓名    分数      班级
                     1     1        请柬       100      小班
                     2     1        卢刚       50         小班
                     3     2        求生表     50        小班
                     3     3        海东       60        小班
                     4     2        树林       70        大班
                     5     1        思博       90        大班
                     6     3        卢刚2      80        大班
                     
                需求:
                    课程ID     课程名称     小班(考的最高的成绩)      大班(考的最低的成绩)
                     1           物理              100                          90
                     2            生物              50                           70
                     3            化学              60                           80

有上面2张表,根据需求,想得到需求中的表结构,怎么获取呢

一句话完成

select  id, title,
    (select max(分数) from 成绩表 where 班级=小班 and 课程表.id = 成绩表.课程ID) as 小班该课程的最高成绩,      # 记住,一次返回一个值
       (select min(分数) from 成绩表 where 班级=大班 and 课程表.id = 成绩表.课程ID) as 大班该课程的最低成绩 
         from  课程表