欢迎访问有用文档网!

当前位置: 有用文档网 > 述职报告 >

数据库实验报告,(3)

| 浏览次数:

 实验内容与要求 请有选择地实践以下各题。

 (1)基于“教学管理”数据库jxgl,使用SQL得查询语句表达下列查询: ①检索年龄大于23岁得男学生得学号与姓名; SELECT Sno,Sname FROM Student WHERE Ssex=’男"AND

  Sage〉23; ②检索至少选修一门课程得女生姓名; SELECT Sname FROM Student WHERE Ssex=’女’AND Sno IN ( onS TCELESﻩFROM SC GROUP BY Sno HAVING count(*)>=1; ); ③检索王同学不学得课程得课程号; SELECT Cno; FROM Course WHERE Cno NOT IN ( SELECT Cno FROM Student,SC WHERE Sname like ’王%"AND Student、Sno=SC、Sno ); ④检索至少选修两门课程得学生学号; SELECT DISTINCT Sno FROM SC GROUP BY Sno HAVING count(*)>=2;

 ⑤检索全部学生都选修得课程得课程号与课程名; SELECT Cno,Cname FROM Course WHERE NOT EXISTS ( SELECT *

 FROM Student WHERE NOT EXISTS ( * TCELESﻩFROM SC WHERE SC、Sno=Student、Sno AND SCo=Courseo ) ); ⑥检索选修了所有 3 学分课程得学生学号;

 SELECT DISTINCT Sno FROM SC X WHERE NOT EXISTS ( SELECT * FROM Course WHERE Ccredit=3 AND NOT EXISTS ( SELECT * FROM SC Y WHERE X、Sno=Y、Sno AND Courseo=Yo ) ); (2)基于“教学管理”数据库jxgl,使用 SQL 得查询语句表达下列查询: ①统计有学生选修得课程门数;

 )onC TCNITSID(tnuoc TCELESﻩFROM SC; ②求选修 4 号课程得学生得平均年龄;

 )egaS(GVA TCELESﻩFROM Student,SC WHERE Cno=4 AND Student、Sno=SC、Sno; ③求学分为 3 得每门课程得学生平均成绩; SELECT AVG(Grade) FROM Course,SC WHERE Ccredit=3 AND Courseo=SCo GROUP BY SCo; ④统计每门课程得学生选修人数,要求超过 3 人得课程才统计,要求输出课程号与选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列; SELECT Cno,count(Sno)

 FROM SC

 GROUP BY Cno HAVING count(Sno)〉3 ORDER BY count(Sno) DESC,Cno ASC; ⑤检索学号比“王菲”同学大而年龄比她小得学生姓名; SELECT Sname FROM Student X WHERE Sno> ( onS TCELESﻩFROM Student Y WHERE Sname=’王菲’AND Sage〉 ( egaS TCELESﻩFROM Student Z WHERE Sname=’王菲’AND X、Sno=Z、Sno AND Y、Sno=Z、Sno ) ); ⑥检索姓名以“王”打头得所有学生得姓名与年龄;

 SELECT Sname,Sage FROM Student WHERE Sname LIKE ‘王%'; ⑦在 SC 中检索成绩为空置得学生学号与课程号; SELECT Sno,Cno FROM SC WHERE Grade is NULL; ⑧求年龄大于女同学平均年龄得男学生姓名与年龄; SELECT Sname,Sage FROM Student X WHERE Ssex=’男’AND Sage〉 ( )egaS(GVA TCELESﻩFROM Student WHERE Ssex='女’AND X、Sno=Y、Sno ); ⑨求年龄大于所有女同学年龄得男同学姓名与年龄; SELECT Sname,Sage FROM Student X WHERE Ssex=’男’AND Sage〉 ( SELECT MAX(Sage) FROM Student Y WHERE Ssex='女"AND X、Sno=Y、Sno ); ⑩检索所有比“王华”年龄大得学生姓名,年龄与性别; SELECT Sname,Sage,Ssex FROM Student X WHERE Sage> ( SELECT Sage FROM Student Y WHERE Sname=’王华"AND X、Sno=Y、Sno ); ①检索选修“2”课程得学生中成绩最高得学生与学号; SELECT Sname,SC、Sno FROM Student,SC WHERE Cno=2 AND Student、Sno=SC、Sno; ②检索学生姓名与其所选修课程得课程号与成绩; SELECT Sname,Cno,Grade FROM Student,SC WHERE Student、Sno=SC、Sno GROUP BY Sname; ③检索选修4门以上课程得学生总成绩(不统计不及格得课程),并要求按总成绩得降序排列出来; SELECT Sno,SUM(Grade) FROM SC X

 WHERE Grade〉=60 AND Sno IN ( onS TCELESﻩFROM SC Y WHERE X、Sno=Y、Sno GROUP BY Sno HAVING count(Cno)〉4 ) ` ;CSED )edarG(MUS YB REDROﻩ(3)设有表4-1~表4—4得4个基本表(表结构于表内容就是假设得),请先创建数据库及根据表内容创建表结构,并添加表记录,写出实现以下各题功能得 SQL 语句: 创建以下 4 各表: CREATE TABLE STUDENT ( SNO CHAR(6) PRIMARY 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 TEACHER(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 STUDENT VALUES(‘980101",’李华’,‘男’,19,’9801’); 、、、、、、 同上方法依次插入数据 ①查询选修课程“8105”且成绩在80 到 90 之间得所有记录; SELECT * FROM SC WHERE CNO=’8105’AND GRADE BETWEEN 80 AND 90; ②查询成绩为 79,89 或99得记录; SELECT * FROM SC WHERE GRADE IN(79,89,99); ③查询“9803"班得学生人数; SELECT count(SNO) FROM STUDENT WHERE SNO LIKE ‘9803%’; ④查询至少有 20 名学生选修得并且课程号以 8 开头得课程及平均成绩; SELECT CNO,AVG(GRADE) FROM SC WHERE CNO LIKE ‘8%’ GROUP BY CNO; HAVING count(SNO)〉=20; ⑤查询最低分大于 80,最高分小于95 得 SNO 与平均分; SELECT SNO,AVG(GRADE)

 FROM SC GROUP BY SNO HAVING MIN(GRADE)〉80 AND MAX(GRADE)<95; ⑥查询“9803"班得学生所选各课程得课程号及平均成绩; SELECT CNO,AVG(GRADE)

 FROM SC WHERE SNO LIKE ‘9803’ GROUP BY CNO; ⑦查询选修“8105”课程得成绩高于“980302"号同学成绩得所有同学得记录; SELECT * FROM SC X WHERE CNO=’8105’AND GRATE〉 ( SELECT GRATE FROM SC Y WHERE CNO=’8105"AND SNO="980302’AND X、SNO=Y、SNO ); ⑧查询与学号为“980103”得同学同岁得所有学生得SNO,SNAME 与 AGE; SELECT SNO,SNAME,AGE

 FROM STUDENT X WHERE AGE= ( SELECT AGE FROM STUDENT Y WHERE SNO=’980103’AND X、SNO=Y、SNO ); ⑨查询“钱军”教师任课得课程号,以及选修其课程学生得学号与成绩; SELECT SCO,SNO,GRADE FROM SC,TEACHRT,COURSE WHERE TNAME=’钱军’AND TEACHER、TNO=COURSE、TNO AND SC、CON=COURSE、CON; ⑩查询选修某课程得学生人数多于 20 人得教师姓名; SELECT DISTINCT TNAME FROM TEACHER,SC,COURSE WHERE TEACHER、TNO=COURSE、TNO AND SC、CON=COURSE、CON GROUP BY SCO HAVING count(SNO)>20; 11 查询选修编号为“8105"课程且成绩至少高于其选修编号为“8245”课程成绩得同学得 SNO及“8105”课程成绩,并按成绩从高到低依次排列; SELECT SNO GRADE FROM SC X WHERE CNO="8105’AND GRADE〉 ( SELECT GRADE FROM SC Y WHERE CNO="8245’AND X、SNO=Y、SNO ) ORDER BY GRADE DESC; 12 查询选修编号为“8105”课程且成绩高于所有选修编号为“8245”课程成绩得同学得CNO、SNO、GRADE; SELECT CNO,SNO,GRADE FROM SC WHERE CNO="8105’AND GRADE〉 ( SELECT MAX(GRADE) FROM SC WHERE CNO=’8245"AND XO=Y、SNO ); 13列出所有教师与同学得姓名,SEX,AGE; SELECT TNAME,TEACHER、SEX,TEACHER、AGE,SNAME,STUDENT、SEX,STUDENT、AGE FROM TEACHER,SC 14 查询成绩比该课程平均成绩高得学生得成绩表;

 SELECT * FROM SC、X GROUP BY SNO HAVING GRADE〉 ( ﻩSELECT AVG(GRADE) FROM SC、Y WHERE XO=YO GROUP BY CNO ); 15 列出所有任课教师得 TNAME 与DEPT; SELECT TNAME,DEPT FROM TEACHER,COURSE WHERE TEACHER、TNO=COURSE、TNO 16 列出所有未讲课教师得TNAME 与 DEPT; SELECT TNAME,DEPY FROM TEACHER WHERE NOT EXISTS ( SELECT * FROM COURSE WHERE TEACHER、TNO=COURSE、TNO ); 17 列出至少有 4 名男生得班号; SELECT CLASS FROM STUDENT GROUP BY CLASS HAVING count(SNO)〉=4; 18 查询不姓“张"得学生记录; SELECT * FROM STUDENT WHERE SNAME NOT LIKE ‘张%’; 19 查询每门课最高分得学生得SNO,CNO,GRADE; SELECT SNO,CNO,GRADE FROM SC GROUP BY CNO HAVING GRADE=MAX(GRADE); 20 查询与“李华”同性并同班得同学 SNAME; SELECT SNAME FROM STUDENT X WHERE CLASS= ( SELECT CLASS FROM STUDENT Y

 WHERE SNAME=’李华’AND SEX= ( SELSCT SEX FROM STUDENT Z WHERE SNAME=’李华’AND X、SNO=Y、SNO AND Y、SNO=Z、SNO ) ); 21 查询“女”教师及其所上得课程; SELECT TNAME,CNO,CNAME FROM TEACHER,COURSE WHERE TEACHER、TNO=COURSE、TNO,SEX=’女"; 22查询选修“数据库系统”课程得“男”同学得成绩表; SELECT * FROM SC,COURSE,STUDENT WHERE STUDENT、SNO=SC、SNO AND COURSEO=SCO AND CNAME='数据库系统’

  AND SEX=’男’; 23 查询所有比刘涛年龄大得教师姓名,年龄与刘涛得年龄; SELECT TNAME,AGE FROM TEACHER X WHERE SNAME=’刘涛"OR AGE> ( SELECT AGE FROM TEACHER Y WHERE X、TNO=Y、TNO AND SNAME=’刘涛’ ); 24 查询不讲授“8106”号课程得教师姓名. SELECT TNAME FROM TEACHER,COURSE WHERE TEACHER、TNO=COURSE、TNO AND CNO NOT IN(8106);

推荐访问:实验 数据库 报告

热门排行Top Ranking

弦振动实验报告

弦振动得研究 一、实验目得 1、观察固定均匀弦振动共振干涉形成驻波时得波形,加深驻波得认识。 2、了

宣传委员述职报告12020 幼儿园党支部宣传委员述职报告

下面是小编为大家精心整理的宣传委员述职报告12020幼儿园党支部宣传委员述职报告文章,供大家阅读参考。宣传委员述

党建工作现场述职会上讲话 公安局长在党建工作现场会上的讲话

下面是小编为大家精心整理的党建工作现场述职会上讲话公安局长在党建工作现场会上的讲话文章,供大家阅读参考。党建工作现场

支部宣传委员述职述廉报告范例 幼儿园党支部宣传委员述职报告

下面是小编为大家精心整理的支部宣传委员述职述廉报告范例幼儿园党支部宣传委员述职报告文章,供大家阅读参考。支部宣传

政治生态评估报告5篇

可能会捆绑住经办人员的手脚,不利于业务工作的开展。致使个别中层干部主体责任压力传导出现能量损耗;个别

2021年领导述职报告合集2020 县领导述职报告

下面是小编为大家精心整理的2021年领导述职报告合集2020县领导述职报告文章,供大家阅读参考。2

工商局监察室主任述职述廉报告

工商局监察室主任述职述廉报告 第一篇:工商局监察室主任述职述廉报告 我叫haoword,中共党员,现

党支部书记个人述职报告 对村党支部书记述职报告的点评

下面是小编为大家精心整理的党支部书记个人述职报告对村党支部书记述职报告的点评文章,供大家阅读参考。党支部书记个人

结合乡村振兴战略人才工作述职报告 乡村振兴工作员年度述职

下面是小编为大家精心整理的结合乡村振兴战略人才工作述职报告乡村振兴工作员年度述职文章,供大家阅读参考。结合

财务分析课程报告4篇

财务分析课程报告4篇财务分析课程报告篇1一年来,在领导和同事们的的支持帮助和指导下,加上自身的不断努

个人安全生产履职报告[安全生产述职报告] 党委书记安全生产履职报告

下面是小编为大家精心整理的个人安全生产履职报告[安全生产述职报告]党委书记安全生产履职报告文章,供大家阅读参

企业年度工作总结报告范文13篇

企业年度工作总结报告范文13篇企业年度工作总结报告范文篇1时光飞逝,转眼已经毕业一年了,我顺利地完成