东北大学数据库实验二.docx
- 文档编号:24519097
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:12
- 大小:758.50KB
东北大学数据库实验二.docx
《东北大学数据库实验二.docx》由会员分享,可在线阅读,更多相关《东北大学数据库实验二.docx(12页珍藏版)》请在冰豆网上搜索。
东北大学数据库实验二
实验
(二):
熟练掌握SQL语言
INSERTINTOStudentVALUES('20143800','张三','男','22','数学');
INSERTINTOStudentVALUES('20143801','李四','男','22','数学');
INSERTINTOStudentVALUES('20143802','王二麻','女','21','数学');
INSERTINTOStudentVALUES('20143803','赵溪','男','21','计算机');
INSERTINTOStudentVALUES('20143804','钱家瓦','男','22','计算机');
INSERTINTOStudentVALUES('20143805','孙汝比','男','23','计算机');
INSERTINTOStudentVALUES('20143806','李派森','男','21','计算机');
INSERTINTOStudentVALUES('20143807','周希夏','女','20','计算机');
INSERTINTOStudentVALUES('20143808','吴德菲','女','23','计算机');
INSERTINTOStudentVALUES('20143809','郑杰思','男','20','物联网');
INSERTINTOStudentVALUES('20143810','王普欧','女','21','物联网');
INSERTINTOCourseVALUES('000001','程序设计基础',32,2,NULL);
INSERTINTOCourseVALUES('000002','面向对象程序设计',64,4,'000001');
INSERTINTOCourseVALUES('000003','数据结构',64,4,'000002');
INSERTINTOCourseVALUES('000004','操作系统',48,3,'000003');
INSERTINTOCourseVALUES('000005','数据库原理',32,2,'000003');
INSERTINTOSCVALUES('20143800','000003','80');
INSERTINTOSCVALUES('20143800','000004','90');
INSERTINTOSCVALUES('20143801','000003','80');
INSERTINTOSCVALUES('20143802','000004','90');
INSERTINTOSCVALUES('20143803','000004','80');
INSERTINTOSCVALUES('20143803','000005','90');
INSERTINTOSCVALUES('20143804','000004','60');
INSERTINTOSCVALUES('20143806','000003','80');
INSERTINTOSCVALUES('20143806','000004','90');
INSERTINTOSCVALUES('20143806','000005','70');
INSERTINTOSCVALUES('20143807','000004','70');
INSERTINTOSCVALUES('20143808','000003','70');
INSERTINTOSCVALUES('20143808','000004','80');
INSERTINTOSCVALUES('20143809','000004','80');
INSERTINTOSCVALUES('20143810','000003','70');
INSERTINTOSCVALUES('20143810','000004','80');
用SQL完成下列查询
1.求选修了课程的学生的学号,要求:
(1)不使用distinct语句,消除重复元组,写出其SQL语句
SELECTSnoFROMSC;
(2)使用distinct语句,消除重复元组,写出其SQL语句
SELECTDISTINCTSnoFROMSC;
(3)如果该查询写成:
selectStudent.SnofromStudent,SCwhereStudent.Sno=SC.Sno
请问该查询结果和上面哪个结果是相同的?
和SELECTSnoFROMSC;相同
2.求开设的课程号、课程名、学时和学分,要求对查询结果的列重新命名。
SELECTCnoKehao,CnameKeming,ChourKeshi,CcreditXuefenFROMCourse;
3.求计算机系和数学系的学生学号、姓名和年龄。
SELECTSno,Sname,SageFROMStudentWHERESdpt='计算机'orSdpt='数学';
4.求不是数学系、计算机系的学生的情况,要求select后写*代替列出所有的列名。
SELECT*FROMStudentWHERESdpt!
='计算机'andSdpt!
='数学';
5.求全体学生的信息,要求按年龄升序排列。
SELECT*FROMStudentORDERBYSageASC;
6.求计算机系年龄在18~20岁之间的学生姓名和年龄。
SELECTSname,SageFROMStudentWHERESdpt='计算机'andSage>=18andSage<=20;
7.求姓名是以”李”开头的计算机系学生。
SELECT*FROMStudentWHERESdpt='计算机'andSnameLIKE'李%';
8.求选修了数据库课程的学生的学号、姓名、成绩。
SELECTStudent.Sno,Student.Sname,SC.Grade
FROMStudent,SC
WHERESC.CnoIN(SELECTCnoFROMCourseWHERECname='数据库原理')ANDStudent.Sno=SC.Sno;
9.求学号为20开头的学生的学号和所选修的课程的学分。
SELECTSC.Sno,Course.Cname,Course.CCredit
FROMSC,Course
WHERESC.SnoIN(SELECTSnoFROMStudentWHERESnoLIKE'20%')ANDSC.Cno=Course.Cno;
10.求选修C1课程且成绩为80分以上的学生的学号、姓名和成绩。
(注:
此处认为C1为课程号,在这里认为C1等同于000004)
SELECTStudent.Sno,Student.Sname,SC.Grade
FROMSC,Student
WHERESC.SnoIN(SELECTSnoFROMSCWHERECno='000005'ANDGrade>80)ANDSC.Cno='000005'ANDSC.Sno=Student.Sno;
11.求计算机系每个学生的姓名,选修的课程名和成绩。
SELECTS1.Sname,Course.Cname,S1.Grade
FROM(SELECTStudent.Sno,Student.Sname,SC.Cno,SC.GradeFROMStudent,SCWHERESdpt='计算机'ANDStudent.Sno=SC.Sno)ASS1,Course
WHERES1.Cno=Course.Cno;
12.求每个学生的学号及平均成绩。
SELECTSno,AVG(Grade)ASAGrade
FROMSC
GROUPBYSno
13.求男学生每一年龄组中超过1人的年龄组及人数。
SELECTSage,COUNT(Sno)ASNum
FROMStudent
WHERESgender='男'
GROUPBYSage
HAVINGCOUNT(Sno)>1;
14.求每一门课程的间接先行课号。
SELECTC1.Cno,C1.Cname,C2.CpnoASCppno
FROMCourseC1,CourseC2
WHEREC1.Cpno=C2.Cno;
15.求选修了全部课程的学生的学号。
SELECTSno
FROMStudent
WHERENOTEXISTS(SELECT*
FROMCourse
WHERENOTEXISTS(SELECT*
FROMSC
WHERESno=Student.SnoANDCno=Course.Cno));
注:
鼓励自行设计查询请求,在报告中加注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 数据库 实验