sql查询结果求和_SQL多表查询
sql中union多表合并多表查询指在多张表中获取数据,包括表的加法,表的联结,联结应⽤案例,case表达式四个部分。⼀、表的加法
表course与course1的加法,union
union all
⼆、表的联结
join
表的联结共分为5种联结
交叉联结、内联结、左联结、右联结、全联结
交叉联结(cross join)可举例扑克牌,4*13+⼤⼩王共52张。内联结(inner join)
左联结(left join)
右联结(right join)
全联结(full join)
sql运⾏顺序
三、联结应⽤案例
⽤sql解决业务问题顺序
1.翻译成⼤⽩话
2.写出分析思路
3.写出对应的sql⼦句
问题:查询所有学⽣的学号、姓名、选课数、总成绩
1.学号、姓名(学⽣表student)
2.选课数(每个学⽣的选课数⽬:
成绩表score,
按学号分组,对课程号计数count)
3.总成绩(每个学⽣的总成绩:
成绩表score,
按学号分组,对成绩求和sum)
分析思路
select 查询结果(学号,姓名,选课数,总成绩)
from :学⽣表,成绩表如何联结?通过学号 ⽤哪种连接⽅式? 左联结where 查询条件 没有
group by 分组
每个学⽣的选课数⽬:按学号分组,对课程号计数count
每个学⽣的总成绩:按学号分组,对成绩求和sum
having 对分组结果指定条件 没有
order by 对查询结果排序 没有
limit 从查询结果中去除指定⾏ 没有
学号,姓名,成绩,课程号前⾯加上a. b.
问题:查询平均成绩⼤于85的所有学⽣的学号、姓名和平均成绩
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论