数据库实验报告资料讲解

上传人:youn****329 文档编号:132231338 上传时间:2020-05-13 格式:DOC 页数:9 大小:81.50KB
返回 下载 相关 举报
数据库实验报告资料讲解_第1页
第1页 / 共9页
数据库实验报告资料讲解_第2页
第2页 / 共9页
数据库实验报告资料讲解_第3页
第3页 / 共9页
数据库实验报告资料讲解_第4页
第4页 / 共9页
数据库实验报告资料讲解_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《数据库实验报告资料讲解》由会员分享,可在线阅读,更多相关《数据库实验报告资料讲解(9页珍藏版)》请在金锄头文库上搜索。

1、实验内容与要求请有选择地实践以下各题。(1)基于“教学管理”数据库jxgl,使用SQL的查询语句表达下列查询:检索年龄大于23岁的男学生的学号和姓名;SELECT Sno,SnameFROM StudentWHERE Ssex=男AND Sage23;检索至少选修一门课程的女生姓名;SELECT SnameFROM StudentWHERE Ssex=女AND Sno IN(SELECT SnoFROM SCGROUP BY SnoHAVING count(*)=1;);检索王同学不学的课程的课程号;SELECT Cno;FROM CourseWHERE Cno NOT IN(SELECT C

2、noFROM Student,SCWHERE Sname like 王%AND Student.Sno=SC.Sno);检索至少选修两门课程的学生学号;SELECT DISTINCT SnoFROM SCGROUP BY SnoHAVING count(*)=2; 检索全部学生都选修的课程的课程号与课程名;SELECT Cno,CnameFROM CourseWHERE NOT EXISTS(SELECT * FROM StudentWHERE NOT EXISTS(SELECT *FROM SCWHERE SC.Sno=Student.Sno AND SC.Cno=Course.Cno);检

3、索选修了所有3学分课程的学生学号;SELECT DISTINCT SnoFROM SC XWHERE NOT EXISTS(SELECT *FROM CourseWHERE Ccredit=3 AND NOT EXISTS(SELECT *FROM SC YWHERE X.Sno=Y.Sno AND Course.Cno=Y.Cno);(2) 基于“教学管理”数据库jxgl,使用SQL的查询语句表达下列查询:统计有学生选修的课程门数;SELECT count(DISTINCT Cno)FROM SC;求选修4号课程的学生的平均年龄;SELECT AVG(Sage)FROM Student,SC

4、WHERE Cno=4 AND Student.Sno=SC.Sno;求学分为3的每门课程的学生平均成绩;SELECT AVG(Grade)FROM Course,SCWHERE Ccredit=3 AND Course.Cno=SC.CnoGROUP BY SC.Cno;统计每门课程的学生选修人数,要求超过3人的课程才统计,要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列;SELECT Cno,count(Sno)FROM SC GROUP BY CnoHAVING count(Sno)3ORDER BY count(Sno) DESC,Cno ASC;检索学号

5、比“王菲”同学大而年龄比他小的学生姓名;SELECT SnameFROM Student XWHERE Sno(SELECT SnoFROM Student YWHERE Sname=王菲AND Sage(SELECT SageFROM Student ZWHERE Sname=王菲AND X.Sno=Z.Sno AND Y.Sno=Z.Sno);检索姓名以“王”打头的所有学生的姓名和年龄;SELECT Sname,SageFROM StudentWHERE Sname LIKE 王%;在SC中检索成绩为空置的学生学号和课程号;SELECT Sno,CnoFROM SCWHERE Grade

6、is NULL;求年龄大于女同学平均年龄的男学生姓名和年龄;SELECT Sname,SageFROM Student XWHERE Ssex=男AND Sage(SELECT AVG(Sage)FROM StudentWHERE Ssex=女AND X.Sno=Y.Sno);求年龄大于所有女同学年龄的男同学姓名和年龄;SELECT Sname,SageFROM Student XWHERE Ssex=男AND Sage(SELECT MAX(Sage)FROM Student YWHERE Ssex=女AND X.Sno=Y.Sno);检索所有比“王华”年龄大的学生姓名,年龄和性别;SELE

7、CT Sname,Sage,SsexFROM Student XWHERE Sage(SELECT SageFROM Student YWHERE Sname=王华AND X.Sno=Y.Sno);检索选修“2”课程的学生中成绩最高的学生和学号;SELECT Sname,SC.SnoFROM Student,SCWHERE Cno=2 AND Student.Sno=SC.Sno;检索学生姓名和其所选修课程的课程号和成绩;SELECT Sname,Cno,GradeFROM Student,SCWHERE Student.Sno=SC.SnoGROUP BY Sname;检索选修4门以上课程的

8、学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来;SELECT Sno,SUM(Grade)FROM SC XWHERE Grade=60 AND Sno IN(SELECT SnoFROM SC YWHERE X.Sno=Y.SnoGROUP BY SnoHAVING count(Cno)4)ORDER BY SUM(Grade) DESC;(3) 设有表4-1表4-4的4个基本表(表结构于表内容是假设的),请先创建数据库及根据表内容创建表结构,并添加表记录,写出实现以下各题功能的SQL语句:创建以下4各表:CREATE TABLE STUDENT(SNO CHAR(6) PR

9、IMARY KEY,SNAME CHAR(20) UNIQUE,SEX CHAR(2),AGE SMALLINT,CLASS CHAR(4);CREATE TABLE TEACHER(TNO CHAR(3) PRIMARY KET,TNAMW CHAR(20) UNIQUE,SEX CHAR(2),AGE SMALLINT,PROF CHAR(10),DEPT CHAR(10);CREATE TABLE COURSE(CNO CHAR(4) PRIMARY KEY,CNAME CHAR(20) UNIQUE,TNO CHAT(3),FOREIGN KEY TNO REFERENCES TEAC

10、HER(TNO);CREATE TABLE SC(SNO CHAR(6),CNO CHAR(4),GRADE SMALLINT,PRIMARY KEY(SNO,CNO),FOREIGN KEY SNO REFERENCES STUDENT(SNO),FOREIGN KEY CNO REFERENCES COURSE(CNO);插入数据:INSERT INTO STUDENTVALUES(980101,李华,男,19,9801);.同上方法依次插入数据查询选修课程“8105”且成绩在80到90之间的所有记录;SELECT *FROM SCWHERE CNO=8105AND GRADE BETWE

11、EN 80 AND 90;查询成绩为79,89或99的记录;SELECT *FROM SCWHERE GRADE IN(79,89,99);查询“9803”班的学生人数;SELECT count(SNO)FROM STUDENTWHERE SNO LIKE 9803%;查询至少有20名学生选修的并且课程号以8开头的课程及平均成绩;SELECT CNO,AVG(GRADE)FROM SCWHERE CNO LIKE 8%GROUP BY CNO;HAVING count(SNO)=20;查询最低分大于80,最高分小于95的SNO与平均分;SELECT SNO,AVG(GRADE)FROM SCG

12、ROUP BY SNOHAVING MIN(GRADE)80 AND MAX(GRADE)(SELECT GRATEFROM SC YWHERE CNO=8105AND SNO=980302AND X.SNO=Y.SNO);查询与学号为“980103”的同学同岁的所有学生的SNO,SNAME和AGE;SELECT SNO,SNAME,AGEFROM STUDENT XWHERE AGE=(SELECT AGEFROM STUDENT YWHERE SNO=980103AND X.SNO=Y.SNO);查询“钱军”教师任课的课程号,以及选修其课程学生的学号和成绩;SELECT SC.CNO,SN

13、O,GRADEFROM SC,TEACHRT,COURSEWHERE TNAME=钱军AND TEACHER.TNO=COURSE.TNO AND SC.CON=COURSE.CON;查询选修某课程的学生人数多于20人的教师姓名;SELECT DISTINCT TNAMEFROM TEACHER,SC,COURSEWHERE TEACHER.TNO=COURSE.TNO AND SC.CON=COURSE.CONGROUP BY SC.CNOHAVING count(SNO)20;11查询选修编号为“8105”课程且成绩至少高于其选修编号为“8245”课程成绩的同学的SNO及“8105”课程成绩,并按成绩从高到低依次排列;SELECT SNO GRADEFROM SC XWHERE CNO=8105AND GRADE(SELECT GRADEFROM SC YWHERE CNO=8245AND X.SNO=Y.SNO)ORDER BY GRADE DESC;12查询选修编号为“8105”课程且成绩高于所有选修编号为“8245”课程成绩的同学的CNO、SNO、GRADE;SELECT CNO,SNO,GRADEFROM SCWHERE CNO=8105AND GRADE(SELECT MAX(GRADE)FROM SCWHERE CNO=8245AND X.CNO=Y.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号