计123_129074107_张明超_数据库实验报告(4)

2018-11-18 21:32

《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院

[ 实验要求 ]

对数据库表进行各种查询操作。 [ 实验方法 ]

① 将实验需求用SQL语句表示; ② 执行SQL语句;

③ 查看执行结果,如果结果不正确,进行修改,直到正确为止。

[ 实验总结 ]

为方便验证某些语句的正确性,在Student表中插入一个有同龄,为选课的记录: insert into Student values('97007','钱龙','MA','02',19,'女'); ① SQL语句以及执行结果;

例3-1: (选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。 select SNO,SNAME,SSEX,SAGE from Student;

例3-2: (不选择重复行) 求选修了课程的学生学号。 select distinct(SNO) from Score;

例3-3: (选择表中的所有列) 求全体学生的详细信息。 select * from Student;

15/19

《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院

例3-4: (使用表达式) 求全体学生的学号、姓名和出生年份。

select SNO,SNAME,to_char(sysdate,'yyyy')-SAGE as BIRTH from Student;

例3-5: (使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。 select SNO as 学号,to_char(sysdate,'yyyy')-SAGE as 出生年份 from Student;

例3-6: (比较大小条件) 求年龄大于19岁的学生的姓名和年龄。 select SNAME,SAGE from Student where SAGE > 19;

例3-7: (比较大小条件) 求计算机系或信息系年龄大于18岁的学生的姓名、系和年龄。 select SNAME,SDEPT,SAGE from Student where SDEPT='CS' or SDEPT='MA' and SAGE > 18;

16/19

《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院

例3-8: (确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。 select SNO,SAGE from Student where SAGE between 20 and 22;

例3-9: (确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。 select SNO,SAGE from Student where SAGE not between 19 and 22;

例3-10:(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。 select * from Student where SDEPT in ('CS','MA');

例3-11:(确定集合条件) 求不是数学系、计算机系的学生信息。 select * from Student where SDEPT not in('MA','CS');

例3-12:(匹配查询) 求姓名是以“李”打头的学生。 select * from Student where SNAME like '李%';

例3-13:(匹配查询) 求姓名中含有“志”的学生。 select * from Student where SNAME like '%志%';

17/19

《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院

例3-14:(匹配查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。 select * from Student where SNAME like '%马____';

例3-15:(匹配查询) 求选修课程001或003,成绩在80至90之间,学号为96xxx的学生的学号、课程号和成绩。

select SNO,CNO,SCORE from Score where CNO in('001','003') and SCORE between 80 and 90 and SNO like '96%';

例3-16:(匹配查询) 求课程名中包含 ’_’ 字符的课程号、课程名和学时数。 select * from Course where CNAME like '%\\_%' escape'\\';

例3-17:(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。 select SNO,CNO from Score where SCORE is null;

例3-18:(控制行的显示顺序) 求选修003课程或004课程的学生的学号、课程号和分数,要求按课程号升序、分数降序的顺序显示结果。

select * from Score where CNO in('003','004') order by CNO asc,SCORE desc;

例3-19:(组函数) 求学生总人数。 select count(SNO) from Student;

例3-20:(组函数) 求选修了课程的学生人数。 select count(distinct SNO) from Score;

18/19

《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院

例3-21:(组函数) 求计算机系学生的平均年龄。

select round(avg(SAGE),1) \平均年龄\

例3-22:(组函数) 求选修了课程001的最高、最低与平均成绩。

select max(SCORE) as \最高分\\最低分\\平均成绩\from Score where CNO = '001';

例3-23:(分组查询) 求各门课程的平均成绩与总成绩。

select CNO,avg(SCORE),sum(SCORE) from Score group by CNO;

例3-24:(分组查询) 求各系、各班级的人数和平均年龄。

select SDEPT,SCLASS,count(SNO) \人数\平均年龄\SDEPT,SCLASS;

例3-25:(分组查询) 输入以下查询语句并执行,观察出现的其结果并分析其原因。 SELECT SNAME,SDEPT,COUNT(*)FROM STUDENT WHERE SDEPT=’CS’ GROUP BY SDEPT;

有中文字符,改掉后执行:

原因是SNAME不应该被选择,SNAME的之不唯一,参与聚合函数运算时会发生冲突。

例3-26:(分组查询) 分析以下语句为什么会出现错误。并给出正确的查询语句。 SELECT SAGE FROM STUDENT GROUP BY SNO;

19/19


计123_129074107_张明超_数据库实验报告(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中职英语_book1_Unit1_greetings_and_introductions_Lessin_3_Hi

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: