数据库SQL查询例题及解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 实验目的
1.熟悉数据库的交互式SQL工具。
2.熟悉通过SQL对数据库进行操作。
3.完成作业的上机练习。
2 实验工具sql server
利用Sql server及其交互式查询工具-查询分析器来熟悉SQL。
3 实验内容和要求
1)实验内容:
创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下:
Sailors(sid: integer, sname: string, rating: integer, age: real)
船员(船员编号,姓名,级别,年龄)
Boats(bid: integer, bname: string, color: string) 船(船编号,名称,颜色)
Reserves(sid: integer, bid: integer, day: date)
租赁(船员编号,船编号,日期)
(注:下划线表示主键),并插入一定数据。
2)完成下列要求:
(1)查询所有船员的信息
(2)查询所有姓王的船员的信息
(3)查询租用过103号船的船员姓名
(4)查找租用过船只的船员编号
(5)查找rating>7且年龄>25的水手编号
(6)查找租用过红船和绿船的水手名字
(7)查找租用过红船或绿船的水手编号
(8)查找最年长的水手的年龄和名字
(9)在18岁以上水手中,对于每个rating级别中最少有两个水手以上的组中最年轻水手的年龄
(10)查找每条红色船只被租用的次数
(11)把30岁以上船员的级别调高一级
(12)删除所有年龄超过40岁的船员信息
(13)建立年龄超过25岁的船员的视图
(14)对(13)建立的视图,举一操作的例子(查询、删除、修改均可)
2)要求:
a.建立boat数据库的SQL脚本,插入所有数据项的SQL脚本(包括所有的测试数据)。
b.记录完成查询要求的SQL语句脚本。
c.记录完成查询的查询结果。
《数据库系统概论》实验报告题目:交互式SQL
学号:
日期:2012年4月29日
实验内容与完成情况:
(一)实验所用数据(截图):
Sailors表
Boats表
Reserves表
(二)实验内容和要求
1)实验内容:
创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下:Sailors(sid: integer, sname: string, rating: integer, age: real) 船员(船员编号,姓名,级别,年龄)
Boats(bid: integer, bname: string, color: string)
船(船编号,名称,颜色)
Reserves(sid: integer, bid: integer, day: date)
租赁(船员编号,船编号,日期)
(注:下划线表示主键),并插入一定数据。
2)完成下列要求:
(1)查询所有船员的信息。
1.正确结果:
2.实现语句:select * from Sailors
3.执行结果:
4.正确,无问题
(2)查询所有姓李的船员的信息
1.正确结果:
sid sname rating age
2 李世民 2 20
4 李刚 4 25
13 李刚 5 27
2.实现语句:select *
from Sailors
where sname like '李%'
3执行结果:
4.正确,无问题
(3)查询租用过6号船的船员姓名
1.正确结果:
sname
曹操
勾践
2.实现语句:select distinct sname
from Sailors,Reserves
where Sailors.sid=Reserves.sid
and bid=6
3执行结果
4.正确,无问题
(4)查找租用过船只的船员编号
1.
sid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2.实现语句:select distinct sid
from Reserves
3.执行结果
4.正确,无问题
(5)查找rating>7且年龄>25的水手编号
1.正确结果:
sid
7
2.实现语句:select sid
from Sailors
where rating>7 and age>25 3执行结果:
4.正确,无问题
(6)查找租用过红船和白船的水手名字
1.
sname
张飞
2.实现语句:select sid
from Sailors
where Sailors.sid=Reserves.sid and
Boats.bid=Reserves.bid and color='红'
intersect
select sid
from Sailors
where Sailors.sid=Reserves.sid and
Boats.bid=Reserves.bid and color='白' 3执行结果
4.无法执行,改变实现语句
【2.实现语句:select sname
from Sailors,Reserves,Boats
where Sailors.sid=Reserves.sid and
Boats.bid=Reserves.bid and color='红'
And sname in
(select sname
from Sailors,Reserves,Boats
where Sailors.sid=Reserves.sid and
Boats.bid=Reserves.bid and color='白') 3.执行结果:
4.正确。】
(7)查找租用过红船或绿船的水手编号
1.
sid
1
3
6
8
10
17
16
14
2.实现语句:select distinct sid