数据库数据查询实验报告.docx

上传人:b****1 文档编号:1750933 上传时间:2022-10-23 格式:DOCX 页数:25 大小:1.79MB
下载 相关 举报
数据库数据查询实验报告.docx_第1页
第1页 / 共25页
数据库数据查询实验报告.docx_第2页
第2页 / 共25页
数据库数据查询实验报告.docx_第3页
第3页 / 共25页
数据库数据查询实验报告.docx_第4页
第4页 / 共25页
数据库数据查询实验报告.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数据库数据查询实验报告.docx

《数据库数据查询实验报告.docx》由会员分享,可在线阅读,更多相关《数据库数据查询实验报告.docx(25页珍藏版)》请在冰豆网上搜索。

数据库数据查询实验报告.docx

数据库数据查询实验报告

宁夏师范学院数学与计算机科学学院

《数据库》实验报告

实验序号:

 07         实验项目名称:

数据查询

学  号

姓  名

专业、班级

实验地点

指导教师

时间

2017.6.07

一、实验目的及要求

•掌握从简单到复杂的各种数据查询。

包括:

单表查询、多表连接查询、嵌套查询、集合查询。

•掌握用条件表达式表示检索条件。

•掌握用聚合函数计算统计检索结果。

二、实验设备(环境)及要求

1、环境要求:

硬件:

PC(P以上,128M以上内存)、因特网接入;

软件:

在SQLServer2000中

三、实验内容与步骤

1、一般简单查询

(1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。

selectdistinct学号from选课

select学号from选课

(2)查询某个表中的所有记录

查询教师表中的所有记录

(3)使用单个条件的简单查询

查询成绩大于50的学生的学号

select学号from选课

where成绩>50

(4)使用多个条件(AND关系)的查询

select工资

from教师

where工资>200and工资<500

(5)使用多个条件(OR关系)的查询

select工资

from教师

where工资<200or工资>500

(6)使用多个条件(混合AND和OR关系)的查询

select*from学生

where(院系='2'and生源='淮南')or(院系='6'and生源='淮北')

(7)使用带NOT运算的查询

select*from学生

wherenot(生源='合肥')

(8)使用BETWEEN•••AND•••的查询

select*from选课

where成绩between86and93

(9)使用NOT•••BETWEEN•••AND•••的查询

select*from选课

where成绩notbetween76and93

(10)使用LIKE运算符的字符串匹配查询。

select*from课程

where课程性质like'专业__'

(11)使用LIKE运算符的模板匹配查询。

select*from院系

where办公地点like'4_1'

(12)查询空值和非空值的

select*from教师

where工资isnull

select*from教师

where工资isnotnull

(13)结果要求排序的查询

select*from选课--升序

orderby成绩

select*from选课--降序

orderby成绩desc

(14)查询结果按多列排序,并分别要求升序和降序的查询。

select*from选课

orderby学号,成绩

select*from选课

orderby学号,成绩desc

(15)使用TOP显示前若干记录的查询

selecttop3*from学生

(16)使用TOP显示前若干记录的查询,如果有满足条件的并列记录一并显示

selecttop3*from学生

where生源='淮南'

(17)两个关系的连接查询。

select*from学生crossjoin选课

(18)带其他查询条件的两个关系的连接查询

select学生.学号,院系,姓名,性别,生源,课程编号,成绩

from学生join选课

on选课.学号=学生.学号

(19)多个关系(三个以上)的连接查询

select*from学生,课程,选课

where学生.学号=选课.学号

and课程.课程编号=选课.课程编号

(20)两个关系的广义笛卡尔积运算结果。

select*from学生crossjoin选课

(21)根据两个关系的广义笛卡尔积运算结果得到两个关系进行自连接的结果

selecte.学号,院系,姓名,性别,生源,课程编号,成绩

from学生ejoin选课w

one.学号=w.学号

(22)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等个字段

select姓名,职称,课程名称,课程性质

from教师innerjoin课程

on教师.教师编号=课程.责任教师

(23)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等个字段,要求结果中列出所有教师信息(即包括不是任何课程责任教师的教师信息)

select姓名,职称,课程名称,课程性质

from教师leftjoin课程

on教师.教师编号=课程.责任教师

(24)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等个字段,要求结果中能够反映目前没有确定责任教师的课程信息。

select姓名,职称,课程名称,课程性质

from教师rightjoin课程

on教师.教师编号=课程.责任教师

(25)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中既能够反映目前不是责任教师的教师信息,又能反映目前没有确定责任教师的课程信息

select姓名,职称,课程名称,课程性质

from教师fulljoin课程

on课程.责任教师=教师.教师编号

(26)使用IN运算的简单嵌套查询。

select教师.姓名

from教师

where教师.教师编号in(

select课程.责任教师

from课程

where课程性质='专业基础')

(27)使用NOTIN运算的简单嵌套查询

select教师.姓名

from教师

where教师.教师编号notin(

select课程.责任教师

from课程

where课程性质='专业基础')

(28)使用关系运算(如等于)的简单嵌套查询

select教师.姓名

from教师

where教师.教师编号=(

select课程.责任教师

from课程

where课程编号='02')

(29)使用ANY或SOME的简单嵌套查询

select姓名

from教师

where工资>=any

(select工资

from教师

where教师编号=20118)

select*from教师

(30)使用ALL的简单嵌套查询。

select姓名

from教师

where工资>=all

(select工资

from教师

where教师编号=20115)

(31)查询院系名称含“计科系”、职称为教授、所负责教程为专业基础的教师姓名、职称、课程名称和课程学时等信息(分别用嵌套查询和连接查询完成,分析各自的效率)

select姓名,课程名称,学时

from教师join课程

on责任教师=教师编号join院系

on院系.编号=教师.院系

where名称='计科系'and职称='教授'

(32)设计两个内外层互相关的嵌套查询。

select*from教师

select教师编号,姓名,性别,职称,工资

from教师out

where工资=

(selectmax(工资)

from教师innera

whereout.教师编号=innera.教师编号)

(33)使用EXISTS的嵌套查询。

select*

from教师

whereexists

(select*

from课程

where课程.责任教师=教师.教师编号)

(34)使用NOTEXISTS的嵌套查询。

select*

from教师

wherenotexists

(select*

from课程

where课程.责任教师=教师.教师编号)

(35)使用COUNT统计数目的查询。

select*from教师

selectcount(工资)from教师

(36)使用SUM计算合计的查询。

selectsum(工资)from教师

(37)一次完成求和、计数、计算平均值的查询。

select*from教师

computesum(工资),avg(工资)

(38)查询所有课程的成绩都大于60分的学生的平均分最高的学生信息。

select学号,avg(成绩)平均成绩

from选课

where成绩>60

groupby成绩,学号

orderby成绩desc

(39)查询数据库课程的成绩大于70分的、所有课程平均分最高的学生信息。

selecttop

(1)*from学生where学号in

(select学号from选课join课程

on选课.课程编号=课程.课程编号

where成绩>70and课程名称='数据库')

(40)查询每个学生的平均成绩。

select学号,avg(成绩)as平均成绩

from选课

groupby学号

(41)查询每个学生的所有成绩的最高成绩、最低成绩、平均成绩和所考课程的门数。

select学号,count(*)'所选课程数',max(成绩)'最高成绩',avg(成绩)'平均成绩',min(成绩)'最低成绩'

from选课

groupby学号

(42)查询至少有1门必修课程考试成绩的每个学生的平均成绩。

selectavg(成绩)

from选课

where课程编号in

(select课程编号from课程where课程性质like'%基础')

groupby学号

(43)设计1个使用COMPUTE•••BY和COMPUTE的查询。

select*

from选课orderby学号

computeavg(成绩),sum(成绩)by学号

(44)设计1个使用COMPUTE的查询。

select*from教师

computesum(工资)

(45)设计个使用group•••BY的查询。

select教师编号,avg(工资)

from教师

groupby教师编号

四、分析与讨论

实验过程中出现了很多的错误,但经过自己的不懈努力都解决的了,也正是通过这次的实验学到了很多。

五、教师评语

1.按时完成实验;

2.实验内容和实验过程记录完整;

3.回答问题完整、正确;

4.有关于实验的比较深刻的心得或讨论;

5.实验报告的撰写认真、报告格式符合要求。

签名:

日期:

年月日

成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1