1、查询课程名以“数据”开头的课程信息select * from Course where Cname like 数据%;查询所有具备先行课的课程信息select * from Course where CPno is not null求学生“李勇”的各科平均成绩一、创建存储过程统计学生总数create proc Countstudentsas select count(*) from student exec Countstudents二、创建存储过程统计各个系的学生总数create proc Countdeptstudentselect Sdept, count(Sno) from Stude
2、nt group by Sdeptexec Countdeptstudent三、创建存储过程实现功能:输入系名,可查询到该系的学生总数create proc deptstudentnumble name varchar(10)select count(*)from Studentwhere Sdept =name四、创建存储过程实现功能:输入学生姓名,可查询到该学生的学号、姓名、选课名称、成绩信息。create proc studentInformation nameSno varchar(10)select Student.Sno,Sname,Cname,Gradefrom Student,
3、SC,Coursewhere Student.Sno=SC.Sno and SC.Cno=Course.Cno andStudent.Sno= nameSnoexec studentInformation 200215123建立一个包含学号、姓名、年龄、系别、课程名称、选课成绩属性的视图,取名studentinfo(此视图是建立在student、course、sc基本表基础之上的)create view mystudentinfoselect student.Sno,Sname,Sage,Sdept, SC.Cno,Gradefrom student,Course,SCwhere Studen
4、t.Sno=SC.Sno and SC.Cno=Course.Cno2查看视图studentinfo中所有数据select * from mystudentinfo3在course中新增一个属性(列名)state,类型为varchar,长度为4。该列的值全为“选修”alter table Course ADD state varcharupdate Courseset state =选修where Cno is not null4修改course中“数据库”和“信息处理”课程记录的state属性值为“必修”update Course必修where Cname=数据库 or Cname=信息系统
5、5找出所有没有选课记录的学生,将这些学生的所有必修课成绩置为“0”select distinct Sno,Snamefrom studentwhere not exists (select * from SC where SC.Sno=student.Sno)insert into SC(Sno,Cno,Grade) values(20021523,1,0);,3,0);200215256 新建表excellantstudent,属性包括:学号、姓名、系别、平均成绩create table excellantstudent ( Sno char(9) primary key,Sname cha
6、r (20) unique,Sdept char (20),AvgGrade smallint);7将SC中所有平均成绩在80分以上的学生及其相关数据存储到excellantstudentinsert into excellantstudent (Sno,Sname,Sdept,AvgGrade)select student.Sno,Sname,Sdept,Avg(Grade)from student ,SCwhere student.Sno=SC.Snogroup by student.Sno,Sname,Sdepthaving Avg(Grade)808删除所有成绩为0分的选课记录dele
7、te from SC where Grade=0;9将新开的课程信息存储到数据库中:数据库应用系统设计、先行课是数据库、学分是2分insertinto Course(Cno,Cname,Cpno,Ccredit,State)values(8,数据库应用系统设计,1,2,);一、用户需求:课程“数据处理”从现在起废止。创建存储过程,名为“StorePro2”,完成如下业务逻辑需求(1、2)1、将所有以“数据处理”为先行课的课程“先行课”属性置为null2、删除“数据处理”课程信息CREATE PROCStorePro2ASBEGIN TRAN MyTran CREATE PROCEDURE St
8、orePro2update Courseset Cpno= nullwhere Cpno=(select Cno from Course where Cname=数据处理)IF ERRORBEGINPRINT An Error occur During update Course the table CourseROLLBACK TRANRETURNENDdeletefrom0 /* 检测是否成功更新,ERROR返回上一个SQL语句状态 */An Error occur During delete the table CourseROLLBACK TRAN /* 回滚 */RETURN /*
9、退出本过程 */COMMIT TRAN MyTran /* 提交事务 */GOexec StorePro2二、创建存储过程完成用户需求:学号为“200215122”的学生退学了!(思考业务逻辑需求)CREATE PROCEDURE leaveSchoolStudentset Sdept=退学where Sno=200215122An Error occur During update the table studentdelete fromSCAn Error occur During delete the table Course and SCexec leaveSchool三、创建存储过程完成用户需求:输入任一学生学号,完成该学生的退学操作。/*CREATE PROCEDURE Ctrl_leave_SchoolAS*/aswhere Sno=nameSnoexec studentInformation 200215121所做的作业创建yangyongguang200722328数据库 创建STUDENT表 创建COURSE表 创建SC表 在STUDENT表中填写数据查询所有学生查询全体学生的姓名,出生年月份和所在的院系,用小写字母表示所有系名。 查询选课成绩在80分和90分之间的选课记录建立视图V-200722328
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1