数据库数据查询实验报告

  • 格式:doc
  • 大小:1.89 MB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

师学院数学与计算机科学学院

《数据库》实验报告

实验序号:07 实验项目名称:数据查询

学号2014210758 姓名邹业安专业、班级14信科

实验地点222 指导教师褚万军时间2017.6.07

一、实验目的及要求

•掌握从简单到复杂的各种数据查询。包括:单表查询、多表连接查询、嵌套查询、集合查询。

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

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

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

1、环境要求:

硬件:PC(PII以上,128M以上存)、因特网接入;

软件:在SQL Server 2000中

三、实验容与步骤

1、一般简单查询

(1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。select distinct 学号 from 选课

select 学号 from 选课

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

(3)使用单个条件的简单查询查询成绩大于50的学生的学号select 学号 from 选课where 成绩>50

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

select工资

from教师

where工资>200 and工资<500

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

select工资

from教师

where工资<200 or工资>500

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

select*from学生

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

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

where not (生源='')

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

select * from 选课

where 成绩 between 86 and 93

(9)使用NOT•••BETWEEN•••AND•••的查询select * from 选课

where 成绩 not between 76 and 93

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

where 课程性质 like '专业__'

(11)使用LIKE运算符的模板匹配查询。select*from院系

where办公地点like'4_1'

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

select * from 教师

where 工资 is null

select * from 教师

where 工资 is not null

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

select * from 选课 --升序

order by 成绩

select * from 选课 --降序

order by 成绩 desc

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

order by 学号, 成绩

select * from 选课

order by 学号, 成绩 desc

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

select top 3 * from 学生

(16)使用TOP显示前若干记录的查询,如果有满足条件的并列记录一并显示select top 3 * from 学生

where 生源=''

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

select * from 学生 cross join 选课

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

select 学生.学号,院系,,性别,生源,课程编号,成绩from 学生 join 选课

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

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

select * from 学生,课程,选课

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

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

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

select * from 学生 cross join 选课

(21)根据两个关系的广义笛卡尔积运算结果得到两个关系进行自连接的结果select e.学号,院系,,性别,生源,课程编号,成绩

from 学生 e join 选课 w

on e.学号= w.学号

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

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

from 教师 inner join 课程

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

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

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

from 教师 left join 课程

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

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

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

from 教师 right join 课程

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

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

from教师full join课程

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

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

select 教师.

from 教师

where 教师.教师编号 in (

select 课程.责任教师

from 课程

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

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

select 教师.

from 教师

where 教师.教师编号 not in (

select 课程.责任教师

from 课程