数据库数据查询实验报告.docx
《数据库数据查询实验报告.docx》由会员分享,可在线阅读,更多相关《数据库数据查询实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
数据库数据查询实验报告
宁夏师范学院数学与计算机科学学院
《数据库》实验报告
实验序号:
07实验项目名称:
数据查询
学号
58
姓名
邹业安
专业、班级
14信科
实验地点
222
指导教师
褚万军
时间
一、实验目的及要求
?
掌握从简单到复杂的各种数据查询。
包括:
单表查询、多表连接查
询、嵌套查询、集合查询。
?
掌握用条件表达式表示检索条件。
?
掌握用聚合函数计算统计检索结果。
二、实验设备(环境)及要求
1、环境要求:
硬件:
PC(PII以上,128M以上内存)、因特网接入;
软件:
在SQLServer2000中
三、实验内容与步骤
1、一般简单查询
(1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。
selectdistinet
学号from选课
select学号from选课
⑵查询某个表中的所有记录查询教师表中的所有记录
⑶使用单个条件的简单查询
查询成绩大于50的学生的学号
select学号from选课
where成绩>50
(4)使用多个条件(AN关系)的查询
select工资
from教师
where工资>200and工资<500
(5)使用多个条件(OR关系)的查询
select工资
from教师
where工资<200or工资>500
(6)使用多个条件(混合AND口0哄系)的查询
select*from学生
where(院系=2and生源='淮南')or(院系='6'and生源='淮北')
(7)使用带NO运算的查询
select*from学生
wherenot(生源='合肥')
(8)使用BETWEENA的查询
select*from选课
where成绩between86and93
(9)使用NOTBETWEENAND询
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)使用TO显示前若干记录的查询
selecttop3*from学生
(16)使用TO显示前若干记录的查询,如果有满足条件的并列记录一并显示
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或SOM的简单嵌套查询
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)使用NOTEXIST的嵌套查询。
select*
from教师
wherenotexists
(select*
from课程
where课程.责任教师=教师.教师编号)
(35)使用COUN统计数目的查询。
select*from教师
selectcount(工资)from教师
(36)使用SU计算合计的查询。
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和COMPU的E查询。
select*
from选课orderby学号
computeavg(成绩),sum(成绩)by学号
(44)设计1个使用COMPUTE查询。
select*from教师
computesum(工资)
(45)设计个使用groupBY勺查询。
select教师编号,avg(工资)
from教师
groupby教师编号
四、分析与讨论
实验过程中出现了很多的错误,但经过自己的不懈努力都解决的了,也正是
通过这次的实验学到了很多。
五、教师评语
1•按时完成实验;
2•实验内容和实验过程记录完整;
3•回答问题完整、正确;
4•有关于实验的比较深刻的心得或讨论;
成绩
5•实验报告的撰写认真、报告格式符合要求。
签名:
日期:
年月日