当要插入选课时,先查询是否选修先行课程,若有即插入数据,没有即提示
如果用触发器的话,先要插入数据,然后触发 *** 作查询,无效的话还有回滚数据
*** 作步骤较多,浪费系统资源
不过如果一定要用触发器的话,把1L的if条件改成
if exists(
select * from stu_cno a inner join inserted b on a.sno=b.sno inner join 选课表 c on c.cno=b.cno
where a.cno=c.cpno
)
(1)查询各门课程的选修人数:select 课程号,count(学号) as 选修人数 from 选课表
(2)查询“计算机应用基础”这门课的平均分:
select avg(分数) as 平均分 from 选课表,课程表
where 选课表.课程号=课程表.课程号 and 课程名=‘计算机应用基础’
(3)查询选修了“计算机应用基础”这门课的女生的姓名、课程名、成绩
select 姓名、课程名、成绩 from 学生基本信息表,课程表,选课表
where 学生基本信息表.学号=选课表.学号 and 选课表.课程号=课程表.课程号 and 性别='女' and 课程名=‘计算机应用基础’
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)