火铳图片:sql语句,急需!!!!!11

来源:百度文库 编辑:高考问答 时间:2024/04/29 01:35:53
一、设职工社团数据库有三个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(编号,名称,负责人,活动地点);
参加(职工号,编号,参加日期)。
其中:
1)职工表的主码为职工号。
2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。
3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。
试用SQL语句表达下列操作:
l)定义职工表、社会团体表和参加表,并说明其主码和参照关系。
2)建立下列两个视图。
社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);
参加人情况(职工号,姓名,社团编号,社团名称,参加日期)
3)查找参加唱歌队或篮球队的职工号和姓名。
4)查找没有参加任何社会团体的职工情况。
5)查找参加了全部社会团体的职工情况。
6)查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。
7)求每个社会团体的参加人数。
8)求参加人数最多的社会团体的名称和参加人数。
9)求参加人数超过100人的社会团体的名称和负责人。
10)把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他再将此权力授予其他用户。

create table 职工表
(

职工号 varchar(15) not null,
姓名 varchar(10) not null,
年龄 int,
性别 char(2)
primary key(职工号))

create table 社会团体
(
编号 varchar(15) not null,
名称 varchar(10) not null,
负责人 varchar(15) not null,
活动地点 varchar(30)
primary key(编号)

foreign key(负责人) references 职工表(职工号)
)

create table 参加
(
职工号 varchar(15) not null,
编号 varchar(15) not null,
参加日期 datetime,
primary key(职工号,编号),
foreign key(职工号) references 职工表(职工号),
foreign key(编号) references 社会团体(编号)
)

create view 社会负责人 as

select a.编号 as 编号,a.名称 as 名称,a.负责人 as 负责人职工号,b.姓名 as 负责人姓名,b.性别 as 负责人性别

from 社会团体 a,职工表 b

where a.负责人=b.职工号

create view 参加人情况 as
select a.职工号 as 职工号,a.姓名 as 姓名,b.编号 as 社团编号,c.名称 as 社团名称,b.参加日期 as 参加日期

from 职工表 a,参加 b,社会团体 c

where a.职工号=b.职工号
and c.编号=b.编号

晕死,作业都要别人来帮做。