今天看到一个面试题,要求查询一个有姓名,分数,科目的表 变为根据科目分类

来源:互联网 发布:微信授权回调域名出错 编辑:程序博客网 时间:2024/05/23 19:19

如图

思考如下:

1.转换表 需要数学成绩和语文成绩,那就必须先把张三和李四的语文成绩和数学成绩查出来

select * from test where subject ='语文'
select * from test where subject ='数学'

结果如下:

2.结果出来之后,用2个表的结果集 联合查询,取各自的分数

select y.name 姓名,y.score 语文,s.score 数学 from (select * from test where subject ='语文' ) y,( select * from test where subject ='数学') s where y.name=s.name

结果如下:

没考虑性能问题,如有不同方案,请大神分享!

阅读全文
0 0