《数据库技术及应用》实验指导书答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库技术及应用》课内上机实验指导书
实验一:SQL SERVER的可视化操作
一、实验内容
1、学习启动SQL Server2000。
2、用SQL Server企业管理器建立SQL Server注册及注册属性的修改。
3、熟悉SQL Server的操作环境,了解主要菜单命令的功能和窗口,如新建
数据库,数据库表的建立,导入、导出数据等。
4、在某个已注册实例中,认识与体会SQL Server的体系结构。
5、在某个已注册实例的数据库范例中,认识数据库的组成。
二、实验步骤
1、启动本机的SQL Server服务;
2、利用企业管理器,在本地创建名为edu_d的数据库,并在edu_d数据库
中添加学生信息表STU_INFO,并随意在表中添加数据。
3、通过查询分析器,查询步骤2中添加的数据。
4、将本地master库中的表syscharsets导出,再导入到edu_d中。
5、进一步熟悉企业管理器以及查询分析器的其它相关操作。
实验二:用SQL实现单表查询
一、实验内容
1、对已有的数据库pubs中的表完成以下查询功能:
a)查询jobs表中所有属性列信息
Select * from jobs
b)查询employee表中的雇员号和雇员名信息
Select emp_id,fname,lname from employee
c)查询employee表中雇员工作年限信息
select emp_id,year(getdate())-year(hire_date) from dbo.employee
2、对employee数据表完成以下查询
a)查询名字首字母为F的雇员信息
select * from employee where fname like 'F%'
b)查询工种代号为11的所有雇员信息
select * from employee where job_id = 11
c)查询雇佣年限超过5年的雇员信息
select * from employee
where year(getdate())- year(hire_date) > 5
d)查询工种代号在5~8的雇员信息
select * from employee where job_id between 5 and 8
e)查询名字为Maria的雇员信息
select * from employee where fname = 'maria'
f)查询姓名中包含字符sh的所有雇员信息
select * from employee where fname like '%sh%' or lname like '%sh%'
3、查询sales表中1993-1-1前订货的订单信息
select * from sales where ord_date < '1993-1-1'
或者
select * from sales where year(ord_date)< 1993
4、查询authors表中以下相关信息:
a)Johnson white的电话号码
select phone from dbo.authors where au_fname = 'johnson' and au_lname =
'white'
b)住在oakland的所有作者的姓名以及住址
select au_lname,au_fname,address from dbo.authors where city = 'oakland'
c)住在10932 Bigge Rd.作者的详细信息
select * from dbo.authors where address = '10932 Bigge Rd.'
实验三:连接查询
一、实验目的
1、掌握多表之间的连接查询
2、掌握使用集函数完成特殊的查询
3、学会对查询结果排序
4、联系数据汇总查询
二、实验内容
1.从edu_d数据库中的stu_info、xk、gdept、gfied、gban、gcourse表
中做以下查询:
a)查询信息科学与工程学院的学生的学号、姓名、性别
select XH,XM,XBM from STU_INFO,GDEPT where STU_INFO.xsh =
GDEPT.xsh and xsm='信息科学与工程'
b)查询成绩在85分以上的学生的学号、姓名、课程名称
select STU_INFO.XH,XM,KCH from STU_INFO,XK where
STU_INFO.XH = XK.XH and KSCJ>85
c)查询学号的前4位是'2001'的学生的学号、姓名、学院名称
select XH,XM,XSM from STU_INFO,GDEPT where STU_INFO.XSH =
GDEPT.XSH and XH LIKE '2001%'
d)查询高等数学(kch=090101)成绩不及格的同学的学号、姓名、课
程名称
select XK.XH,XM,KSCJ,KM
from STU_INFO,XK,GCOURSE
where STU_INFO.xh = XK.xh and XK.kch = GCOURSE.kch and XK.kch =
'090101' and kscj < 60
e)查询每个同学在2001-2002学年第一学期(kkny=20011)的总分、
平均分
select xh,sum(kscj) as '总分',avg(kscj) as '平均分'
from xk
where kkny = '20011'
group by xh
f)查询与李明在同一个专业学习的同学的学号、姓名、性别、班级,
并按学号升序排序
select xh,xm,XBM,BH