①Sailors(sid char(10),sname char(20),rating int,age int),
其中sid是主关键字,sid表示水手的编号,sname表示水手的姓名,rating表示水手的级别,age表示水手的年龄。
②Boats(bid char(10),bname char(20),color char(10)),
其中bid表示船的编号是主关键字,bname是船的名字,color是船的颜色
③Reserves(sid char(10),bid char(10),rdate date),
Reserves中记录水手在哪天定了那只船,其中sid是指向Sailors的外关键字,bid是指向Boats的外关键字,(sid,bid,rdate)合起来构成Reserves的主关键字。
也可执行脚本:CREATE TABLE Sailors
(Sid char(10)PRIMARY KEY,
sname char(20),
rating int ,
age int
);
CREATE TABLE Boats
(bid char(10)PRIMARY KEY,
bname char(20) NOT NULL,
color char(10)
);
CREATE TABLE Reserves
(Sid char(10) ,
bid char(10),
rdate date,
PRIMARY KEY(Sid,bid,rdate),
FOREIGN KEY(Sid)REFERENCES Sailors(Sid),
FOREIGN KEY(bid)REFERENCES Boats(bid),
);
insert into Sailors (Sid ,Sname,rating,age )
values
('22','dustin',7,45),
('29','brustus',1,33),
('31','lubber',8,56),
('32','andy',8,26),
('58','rusty',10,35),
('64','horati',7,35),
('71','zorba',10,35),
('74','horatio',9,35),
('85','art',3,26),
('86','john',1,17),
('95','bob',3,64),
('96','frodo',3,26),
('98','tom',3,17);
insert into Boats (bid ,bname ,color )
values (101 , 'A' , 'red'),
(102 , 'B' , 'green' ),
(103 , 'C' , 'blue '),
(104 , 'D' , 'white') ,
(105 , 'E' , 'red '),
(106 , 'F' , 'blue '),
(107 , 'G' , 'green') ;
insert into Reserves (Sid ,bid ,rdate )
values ( 22 , 101 , '2010-01-08' ),
( 22 , 102 , '2010-01-09' ),
( 29 , 103 , '2010-01-09' ),
( 31 , 102 , '2010-02-11' ),
( 22 , 104 , '2010-03-08' ),
( 22 , 103 , '2010-03-10' ),
( 32 , 105 , '2010-03-11' ),
( 32 , 106 , '2010-03-18' ),
( 32 , 102 , '2010-03-19' ),
( 58 , 104 , '2010-03-20' ),
( 64 , 105 , '2010-03-20' ),
( 95 , 101 , '2010-04-02' ),
( 85 , 102 , '2010-04-05' ),
( 22 , 101 , '2010-04-07' ),
( 22 , 105 , '2010-05-01' ),
( 22 , 106 , '2010-06-18' ),
( 22 , 107 , '2010-07-09' ),
( 31 , 106 , '2010-08-06' ),
( 32 , 105 , '2010-08-06' ),
( 29 , 104 , '2010-08-07' ),
( 64 , 103 , '2010-09-05' ),
( 58 , 102 , '2010-09-09' ),
( 64 , 104 , '2010-11-03' ),
( 64 , 105 , '2010-11-04' ),
( 31 , 106 , '2010-12-06' );二、完成下面的SQL操作:
1.查找定了103号船的水手
2.查找定了红色船水手的姓名
3.查找定了红色船而没有定绿色船的水手姓名
4.查找没有定过船的水手信息
5.查找定过船而没有定过红色船的水手信息
6.查找没有定过红色船的水手信息
7.查找定过所有船的水手姓名和编号
8.查找年龄最大的水手姓名和年龄
9.统计水手表中每个级别组的平均年龄和级别组
10.统计水手表中每个人数不少于2人的级别组中年满18岁水手的平均年龄和级别组
11.统计水手表中每个级别组的人数
12.统计水手表中人数最少的级别组及人数
13.查找定过船而没有定过相同的船的水手姓名
14.将年龄小于30的水手级别+1
15.删除名字叫lubber的水手的定船信息.
提交答案时,请在每条SQL语句前抄写相应的题目。