数据库中数据的查询二.docx
《数据库中数据的查询二.docx》由会员分享,可在线阅读,更多相关《数据库中数据的查询二.docx(8页珍藏版)》请在冰豆网上搜索。
数据库中数据的查询二
沈阳工程学院
学生实验报告
(课程名称:
数据库原理及应用)
实验题目:
数据库中数据的查询
(二)
班级信安本111学号2011416109姓名夏彬珊
日期2013.10.28地点F612指导教师孙先丽祝世东
一、实验目的
掌握SQL查询命令:
包括连接查询、嵌套查询和集合查询。
二、实验环境
Oracle10g数据库系统。
三、实验内容与要求
使用Select命令完成下列数据查询。
一、连接查询
⑴查询每个学生及其选修课程的情况。
⑵查询男学生选修课成绩不及格的情况。
⑶查询计算机系学生选修课成绩不为空的情况。
⑷查询选修2号课程且分数在90分以上的所有学生。
⑸查询每个学生的学号,姓名,选课名及成绩。
⑹查询选修了课程,但没有参加考试(成绩为空)的学生学号,姓名,选课名及成绩。
二、嵌套查询
⑴查询与"张三"在同一系的学生。
⑵查询选修了课程名为"数据库"的学生学号和姓名。
三、EXISTS查询
⑴查询没有选修1号课程的学生的姓名。
⑵查询选修了所有课程的学生的姓名。
四、实验过程及结果分析
一、连接查询
⑴查询每个学生及其选修课程的情况。
selectstudent.*,sc.*
fromstudent,sc
wherestudent.sno=sc.sno;
⑵查询男学生选修课成绩不及格的情况。
selectsname,cname,grade
fromstudent,sc,course
wheressex='男'and
grade<60and
student.sno=sc.snoand
o=o;
分析:
分号打错
⑶查询计算机系学生选修课成绩不为空的情况。
selectsc.*
fromstudent,sc
wherestudent.sno=sc.snoandsdept='信息学院'andgradeisnotNULL
⑷查询选修2号课程且分数在90分以上的所有学生。
selectstudent.sno,sname
fromstudent,sc
wherestudent.sno=sc.snoando='3'andsc.grade>90;
⑸查询每个学生的学号,姓名,选课名及成绩。
selectstudent.sno,sname,cname,grade
fromstudent,sc,course
wherestudent.sno=sc.snoando=o;
⑹查询选修了课程,但没有参加考试(成绩为空)的学生学号,姓名,选课名及成绩。
selectstudent.sno,sname,cname,grade
fromstudent,sc,course
wherestudent.sno=sc.snoando=oandoisnotNULLandgradeisNULL
二、嵌套查询
⑴查询与"张三"在同一系的学生。
selectsdept
fromstudent
wheresname='张三';
⑵查询选修了课程名为"数据库"的学生学号和姓名。
selectsno,sname
fromstudent
wheresnoin
(selectsno
fromsc
wherecnoin
(selectcno
fromcourse
wherecname='数据库'
)
);
分析:
少打个括号
三、EXISTS查询
⑴查询没有选修1号课程的学生的姓名。
分析:
student和sno中间有个点且没空开
⑵查询选修了所有课程的学生的姓名。
selectsname
fromstudent
wherenotexists
(select*
fromcourse
wherenotexists
(select*
fromsc
wheresno=student.sno
andcno=o));
五、成绩评定
优
良
中
及格
不及格
出勤
格式
内容
分析
总评
指导教师:
年月日
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!