数据库实验报告数据库的简单查询和连接查询.docx
《数据库实验报告数据库的简单查询和连接查询.docx》由会员分享,可在线阅读,更多相关《数据库实验报告数据库的简单查询和连接查询.docx(10页珍藏版)》请在冰豆网上搜索。
![数据库实验报告数据库的简单查询和连接查询.docx](https://file1.bdocx.com/fileroot1/2023-1/27/023461ac-0e0c-461a-99d5-3c1357b2e473/023461ac-0e0c-461a-99d5-3c1357b2e4731.gif)
数据库实验报告数据库的简单查询和连接查询
贵州大学实验报告
学院:
计信学院专业:
网络工程班级:
101
姓名
学号
实验组
实验时间
04.17
指导教师
罗昊
成绩
实验项目名称
数据库的简单查询和连接查询
实验目的
使学生掌握SQLServer查询分析器的使用方法,加深对SQL语言的查询语句的理解。
熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
实验要求
本实验属于验证型实验,通过实验,加强对课堂讲授知识的理解。
开始实验前,必须进行预习,写出实现所有查询要求的SQL语句。
实验过程中,先集中由老师进行具体要求和注意事项的讲解,然后各自独立在机器上完成实验。
实验过程中出现问题,在实验指导老师帮助下解决。
实验原理
1、将查询需求用SQL语言表示。
2、在SQLServer查询分析器的输入区中输入SQL查询语句。
3、设置查询分析器结果区为StandardExecute(标准执行)或ExecutetoGrid方式。
4、发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。
5、查询分析器及使用方法
查询分析器是在数据库应用系统时使用的工具。
查询分析器的主要作用是编辑SQL将其发送到服务器,并将执行结果及分析显示出来。
查询分析功能主要通过测试查询成本,判断查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。
在查询分析器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。
对于SQL语句的执行结果,在结果区中可以有4中不同的输出形式;标准执行将结果直接显示在结果区;网格执行将结果以表格形式显示在结果区;计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。
上述输出形式,可以通过菜单或按钮选择。
实验仪器
(1)硬件条件:
个人计算机。
(2)软件条件:
Windows2000NTServer;MSSQLServer2000。
实验步骤
1、基本操作实验
(1)简单查询实验
1)用SQl语句表示下列操作,在学生选课库中实现其数据查询操作。
①求数学系学生的学号和姓名。
②求选修了课程的学生学号。
③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
④求选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
⑤求数学系或计算机系姓张的学生的信息。
⑥求缺少了成绩的学生的学号和课程号。
2)在图书读者库中实现其查询操作:
将计算机类的书存入永久的计算机图书表中,将借书日期在2000年以前的借阅记录存入临时的超期借阅表。
(2)连接查询实验
用SQL语句表示,并在学生选课库中实现下列数据连接查询操作:
①查询每个学生的情况以及他所选修的课程。
②求学生的学号、姓名、选修的课程名及成绩。
③求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
④查询每一门课的间接先行课(即先行课的先行课)。
2、提高操作实验
(1)按如下表的格式,建立职工部门库和职工表、部门表,并向表中输入数据。
职工表(ZG)
职工号(zgh)
姓名(xm)
性别(xb)
年龄(nl)
所在部门(bmh)
1010
李勇
男
20
11
1011
刘晨
女
19
1012
王敏
女
22
12
1014
张立
男
21
13
部门表(BM)
部门号(bmh)
部门名称(bmmc)
电话(dh)
11
生产科
566
12
计划科
578
13
一车间
467
14
科研所
(2)用SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接,在职工部门库中实现其数据内连接和各种外查询操作。
实验内容
1、简单查询操作
该实验包括投影、选择条件表达式、数据排序、使用临时表等。
2、连接查询操作
该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。
实验数据
首先简历学生管理系统库
其次建立学生信息、课程、成绩三个表,列内容如下图所示
其次输入数据
(1)简单查询实验
1)用SQl语句表示下列操作,在学生选课库中实现其数据查询操作。
①求数学系学生的学号和姓名。
新建查询。
在右边弹出窗口处输出SQL语句。
输入语句:
select姓名
from学生信息
where院系='数学'
②求选修了课程的学生学号。
selectdistinct学号
from成绩
③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
select学号,成绩
from成绩
where课程号='3'
orderby成绩desc,学号asc;
④求选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
selectdistinct学号,成绩*0.8
from成绩
where课程号='3'
and成绩between80and90;
⑤求数学系或计算机系姓张的学生的信息。
select*
from学生信息
where院系in('数学','计算机')
and姓名like'张%'
⑥求缺少了成绩的学生的学号和课程号。
select学号,成绩
from成绩
where成绩isnull
(2)连接查询实验
用SQL语句表示,并在学生选课库中实现下列数据连接查询操作:
①查询每个学生的情况以及他所选修的课程。
select学生信息.*,成绩.*
from学生信息,成绩
where学生信息.学号=成绩.学号
②求学生的学号、姓名、选修的课程名及成绩。
select学生信息.学号,姓名,课程名,成绩
from学生信息,成绩,课程
where学生信息.学号=成绩.学号
and成绩.课程号=课程.课程号
③求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
selectdistinct学生信息.学号,姓名,成绩
from学生信息,成绩
where学生信息.学号=成绩.学号
and课程号='3'
and成绩>=90
④查询每一门课的间接先行课(即先行课的先行课)。
selectx.课程名课程名,y.课程名先行课,
z.课程名先行课的先行课
from课程x,课程y,课程z
wherex.先行课=y.课程号
andy.先行课=z.课程号
2、提高操作实验
(1)按如下表的格式,建立职工部门库和职工表、部门表,并向表中输入数据。
(2)用SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接,在职工部门库中实现其数据内连接和各种外查询操作。
内链接
select部门表.*,职工表.*
from部门表,职工表
where部门表.部门号=职工表.所在部门
左、右外部链接
select职工表.*,部门名称,电话
from职工表,部门表
where职工表.所在部门=部门表.部门号
实验总结
基本达到实验要求,对数据库查询与录入的操作有所提高,掌握与了解一些SQL常用语句,对今后的学习奠定一定的基础。
指导教师意见
签名:
年月日
注:
各学院可根据教学需要对以上栏目进行增减。
表格内容可根据内容扩充。