学生(学号,姓名,性别,所在系)
课程(课程号,课程名,先行课)
选课(学号,课程号,成绩)
1.请问怎样建立在对选课表更改数据时,服从完整性约束的UPDATE触发器
2.列出学号,姓名及学习情况,学习情况用好(平均成绩大于85),较好(平均成绩在70和85之间),一般(75和60之间),差(小于60)来表示。
请教各位了,本人初学者,概念上有点模糊,谢谢了。。
课程(课程号,课程名,先行课)
选课(学号,课程号,成绩)
1.请问怎样建立在对选课表更改数据时,服从完整性约束的UPDATE触发器
2.列出学号,姓名及学习情况,学习情况用好(平均成绩大于85),较好(平均成绩在70和85之间),一般(75和60之间),差(小于60)来表示。
请教各位了,本人初学者,概念上有点模糊,谢谢了。。
insert into tt
select '1' , '语文', 80
union all
select '1' , '历史', 55
union all
select '1' , '数学', 98
union all
select '1' , '生物', 66
union all
select '1' , '政治', 88
union all
select '1' , '英语', 92
union all
select '2' , '英语', 99
union all
select '2' , '政治', 88
union all
select '3' , '数学', 45
union all
select '3' , '生物', 23
union all
select '3' , '化学', 41
union all
select '3' , '物理', 0
union all
select '3' , '法律', 0
*/
select * from tt
/*
Sno Cname Score
---------------------------
1 语文 80
1 历史 55
1 数学 98
1 生物 66
1 政治 88
1 英语 92
2 英语 99
2 政治 88
3 数学 45
3 生物 23
3 化学 41
3 物理 0
3 法律 0*/ select Sno,case when avg(Score)>85 then '好'
when avg(Score)>=70 then '较好'
when avg(Score)>=60 then '一般'
when avg(Score)<60 then '差' end as '学习情况'
from tt group by Sno
/*
Sno 学习情况
---------------
1 较好
2 好
3 差*/drop table tt