表:
要求同时查询出学生的文理科平均成绩:
思路:通过生成两张临时表分别统计文科平均成绩和理科平均成绩,然后将两张表通过name字段连接起来实现最终结果。
sql:
select tw.name,tw.wen '文科平均成绩',tl.li '理科平均成绩' from (select name,avg(grade) wen from achieve where subject = '语文' group by name) tw join (select name,avg(grade) li from achieve where subject != '语文' group by name) tl on tw.name = tl.name
运行结果: