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

          课程表:
                    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  课程表 

 

转载于:https://www.cnblogs.com/huchong/p/8275434.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值