第四章高级查询--上机题和经典案例

本文展示了多个SQL查询实例,包括查找特定课程的最高分和最低分,查询特定学期开设的课程,获取考试缺考学生名单,检查并更新学生年级,统计考试缺考和通过情况,以及调整考试分数等。所有查询都围绕'oop'课程展开,涉及子查询、联接和条件操作。
摘要由CSDN通过智能技术生成
--上机题1
--参加oop最近一次考试时间的最高分数和最低分数
select MAX(studentresult), MIN(studentresult) from Result
where ExamDate=
(
select MAX(ExamDate) from Result 
where SubjectId=
(
select SubjectId from Subject where SubjectName='oop'
)
)
and SubjectId=
(
select SubjectId from Subject where SubjectName='oop'
)


--上机题2

--使用in关键字的子查询来查询S1学期开设的课程


select SubjectName from Subject
where GradeId in
(
    select GradeId from Grade where GradeName='S1'
)


--上机题3

--查询某课程最近一次考试缺考的学生名单 

select studentno, StudentName from Student 
where StudentNo not in
(
  select StudentNo from Result
  where SubjectId=
  (
  select SubjectId from Subject where SubjectName='oop'
  )
  and ExamDate=
(
select MAX(ExamDate) from Result 
where SubjectId=
(
select SubjectId from Subject where SubjectName='oop'
)
)
 
)
 and GradeId=
(
select GradeId from Subject where SubjectName='oop'
)

--上机题4
--检查并更新S1的学生为S2


if exists(

select studentno,StudentName from Student 
where StudentNo in
(
  select StudentNo from Student where
  GradeId=
  (
  sleelct GradeId from grade where GradeName='S1'
  )
)
)
begin

update Student set GradeId=2
where GradeId in
(
  select GradeId from Grade where GradeName='S1' 
)
end


--上机题5


select studentname,(sele
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值