读书人

在深圳市面试的一道数据库题目

发布时间: 2012-09-28 00:03:35 作者: rapoo

在深圳面试的一道数据库题目

在深圳面试时的一道数据库题目,主要考select语句,回来后当作复习吧,把建库建表以及存储过程都写了出来,用的是sql server。

-----创建管理岗位业务培训信息表use mastergoif exists(select * from sysdatabases where name='STU')drop database STUgocreate database STUon(--主数据库文件的描述name='STU_data',filename='d:\STU_data.mdf',size=10mb,filegrowth=20% ,--主数据文件的增长率maxsize=20mb)log on(--主数据库文件的描述name='STU_log',filename='d:\STU_data.ldf',size=3mb,filegrowth=10%, --主数据文件的增长率maxsize=20mb)go---- 创建表use STUgoif exists(select * from sysobjects where name='S')drop table Sgo--创建表Screate table S(SID int identity(1001,1) not null,SN varchar(8) not null,SD varchar(20) not null,SA int not null)--创建表S的约束alter table S add constraint PK_SIDprimary key(SID)insert into S(SN,SD,SA)values('林林','中国汽车',26)insert into S(SN,SD,SA)values('小王','福田',56)insert into S(SN,SD,SA)values('兆赫','达人',28)insert into S(SN,SD,SA)values('何鄂','众乐',30)--创建表Ccreate table C(CID varchar(10) not null,CN varchar(20) not null,)insert into C(CID,CN)values('s001','税收基础')insert into C(CID,CN)values('s002','初级韩语')insert into C(CID,CN)values('s003','雅思英语')insert into C(CID,CN)values('s004','好人')--创建表SCcreate table SC(CID varchar(10) not null,G int not null,SID int not null)------创建表SC的约束alter table SC add constraint FK_SIDforeign key(SID) references S(SID)insert into SC(CID,SID,G)values('s001',1001,85)insert into SC(CID,SID,G)values('s002',1002,56)insert into SC(CID,SID,G)values('s003',1002,70)insert into SC(CID,SID,G)values('s004',1004,88)--管理岗位业务培训信息的常规查询--(1)查询课程名为“税收基础”的学员姓名和所属单位select SN,SD from Swhere SID in(select SID from C,SC where C.CID=SC.CID and CN='税收基础')--(2查询选修了课程的学员姓名、所属单位、年龄、选修课程名称及学习课程)select 姓名=SN,所属单位=SD,年龄=SA, 课程名称=CN,成绩=G from S,C,SCwhere S.SID in(select SID from C,SC where C.CID=SC.CID)--(3)查询选修了课程的学员人数select 学员人数=count(distinct[SID]) from SC -----------利用存储过程,查询指定信息if exists(select * from sysobjects where name='proc_U')drop proc proc_Ugocreate proc proc_U@s_sn_out varchar(8) output,@s_sn_in varchar(8)asdeclare @r varchar(8)select @r=SN from S where SN=@s_sn_inset @s_sn_out=@rgodeclare @ff varchar(8)exec proc_U @ff output,'小王'print convert(varchar(8),@ff)
?

?

读书人网 >其他数据库

热点推荐