select * From Student
select * From Course
select * from SC --INSERT INTO SC (Sno, Cno, Grade)
--VALUES ('1513032087', '7', 99); --(1)找出至少选修X课和Y课的学生学号(P1)
-- 执行P1,输出X=数据库,Y=数据结构
GO
Create Proc SelectLessonToSno @X varchar(), @Y varchar()
AS
begin
select SC.Sno
from SC, Course
where SC.Cno = Course.Cno
and SC.Cno in (Select SC.Cno
From SC, Course
Where SC.Cno = Course.Cno and
Cname in (@X, @Y)
)
END EXEC SelectLessonToSno @X = '数据库', @Y = '数据结构' --(2)找出至少选修X老师讲的一门课的学生姓名(P2)
--执行P2,X=程老师
GO
Create Proc TnameToSname @Tname varchar()
AS
BEGIN
Select distinct Sname
From Student,Course,SC
where Student.Sno = SC.Sno and
Course.Cno = SC.Cno and
SC.Sno in (select Sno
from SC, Course
where SC.Cno = Course.Cno and
Course.Tname = @Tname
)
END
EXEC TnameToSname @Tname = '程老师' --(3)查询X号课程得最高分的学生的学号(P3)
--执行P3,X=数据库对应的课程号
GO
Create Proc maxofCno @X varchar()
AS
BEGIN
select Sno
From SC
Where SC.Cno = @X and Grade =
(select MAX(Grade)
From SC
Group by Cno
Having Cno = @X
)
END
EXEC maxofCno @X = '' --(4)X课程得最高分的学生的姓名、性别、所在系(P4)
--执行P4,X=数据库
GO
Create Proc LessonToStudentInfo @X varchar()
AS
BEGIN
Select Sname, Ssex, Sdept
From Student, SC, Course
Where Student.Sno = SC.Sno and SC.Cno = Course.Cno and
Course.Cname = @X and Grade =
(
Select MAX(Grade)
from SC, Course
where SC.Cno = Course.Cno and
Course.Cname = @X
)
END
EXEC LessonToStudentInfo @X = '数据库' --(5)取出没有选修X课程的学生姓名和年龄(P5)
--执行P5,X=数据库
GO
Create Proc SelectNoLessonToStudentInfo @X varchar()
AS
BEGIN
Select Sname, Sage
From Student, SC, Course
where Student.Sno = SC.Sno and
Course.Cno = SC.Cno and
SC.Sno not in (
Select Sno
from SC, Course
where SC.Cno = Course.Cno and Course.Cname = @X
)
END
EXEC SelectNoLessonToStudentInfo @X = '数据库' --(6)求选修课程名为X的学生的平均年龄(P6)
--执行P6,X=数据库
GO
Create Proc LessonToStudentAge @X varchar() = '数据库' --默认值
AS
BEGIN
Select AVG(Sage)
From Student, Course, SC
Where Student.Sno = SC.Sno and
Course.Cno = SC.Cno and
Course.Cname = @X
END
EXEC LessonToStudentAge @X = '数据库' --(7)求X老师讲的每门课的学生平均成绩(P7)
--执行P7,X=程老师
GO
Create Proc LessonToAvage @X varchar()
AS
BEGIN
Select SC.Cno, AVG(Grade) AS 平均分
From Course, SC
Where Course.Cno = SC.Cno and
Course.Tname = @X
Group by SC.Cno
END
Exec LessonToAvage @X = '程老师'

最新文章

  1. 记一SQL部署问题
  2. mysql和oracle的区别(功能性能、选择、使用它们时的sql等对比)
  3. Python多进程编程
  4. BZOJ 1600
  5. 【转】SVN提示:由于目标机器积极拒绝,无法连接 的解决方法
  6. lambda表達式
  7. maven使用之烦人的.lastUpdated文件
  8. Codeforces 551D GukiZ and Binary Operations(矩阵快速幂)
  9. KVM如何以HADOOP作共享存储?
  10. 枚举(分类讨论):BZOJ 1177: [Apio2009]Oil
  11. Selenium 显示等待和隐式等待
  12. TPshop手机新模板的用户消息实现
  13. 2017ecjtu-summer training # 9 HDU 4544
  14. linux-docker下安装禅道全部
  15. MVC开发T4代码生成之二----vs模板扩展
  16. K - Video Reviews Gym - 101755K (二分)
  17. 【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其一)
  18. Omi框架学习之旅 - 之开篇扯蛋
  19. jquery与php的HTML转义与反转义
  20. Google C++单元测试框架

热门文章

  1. mvc学习-编辑提交需要注意-mvc重点
  2. vue之Mutations 理解
  3. cobbler技术详解(是PXE二次详解)
  4. 360Vedio To NFOV Vedio
  5. beta 发布的相关评论
  6. Delphi 判断TImage是否为空及注意事项
  7. django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除
  8. Repeats SPOJ - REPEATS(重复次数最多的连续重复子串)
  9. # DZY Love Math 系列
  10. Android指纹识别API讲解,让你有更好的用户体验