数据库SQL查询例题及解答

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档