SQL Sever 2005 习题与答案 联系客服

发布时间 : 星期二 文章SQL Sever 2005 习题与答案更新完毕开始阅读ee28118681c758f5f71f676c

UPDATE stu2 SET 学号=REPLICATE('0',4-len(@max))+@max FROM stu2 INNER JOIN inserted on stu2.学号=inserted.学号

执行以上代码,查看studentsdb数据库中是否有stu2表,展开stu2,查看其触发器项中是否有stu_str触发器。

在查询设计器的编辑窗口输入以下代码:

INSERT INTO stu2(学号,姓名,性别) VALUES('0001','张主','女')

运行以上代码,查看stu2表的变化情况,为什么插入记录的学号值发生了改变?

答案

crate database studb on

(name=studb1_dat,

filename='g:\\students\\studb1.ndf', size=5Mb,

maxsize=10Mb, filegrowth=1Mb )

alter database studb add file

(name=studb1_dat,

filename='g:\\students\\studb1.ndf', size=5Mb,

maxsize=10Mb, filegrowth=1Mb )

use studentdb create table grade (学号char(4),

课程编号char(4), 分数char (5) )

alter table grade

alter column 学号char(4) not null

alter table grade add 备注 varchar(20)

insert into grade

(学号,课程编号,分数) values ('0004','0001','80')

delete from grade where 学号='0001'

update grade

set 备注='成绩良好' where 学号='0004'

select 学号,姓名,出生日期from student_info

select 姓名,家庭住址from student_info where 学号='0002' select 学号,姓名from student_info where 性别='男'

select 学号,分数from grade where 分数between 80 and 90 select avg(分数) from grade where 课程编号='0003'

select 课程编号,count(*) as 人数from grade group by 课程编号 select 学号,姓名from student_info where 姓名like '张%'

select 学号,姓名,性别,出生日期,家庭住址from student_info order by 性别,学号

select 学号,avg(分数) as 平均分from grade group by 学号

select 姓名,出生日期from student_info

where 性别=(select 性别from student_info where 姓名='刘卫平')

select 学号,姓名,性别from student_info where 学号in (select 学号from grade where 课程编号in ('0002','0005'))

select a.学号,b.姓名,a.课程编号,a.分数

from grade a inner join student_info b on a.学号=b.学号

where a.分数in (select max(分数) from grade group by 学号

select a.学号,姓名,sum(分数) as 总成绩

from student_info a left outer join grade b on a.学号=b.学号 group by a.学号,a.姓名

insert into grade values ('0004','0006',76)

select a.课程编号,b.课程名称,count(a.学号) as 选修人数

from grade a left outer join curriculum b on a.课程编号=b.课程编号 group by a.课程编号,b.课程名称

3.1 alter table student_info add constraint pk_no primary key(学号)

alter table curriculum add constraint pk_kc primary key(课程编号) 3.2 略

3.3 create index grade_index on grade(分数)

3.4 create unique index grade_id_ind on grade(学号,课程编号) 3.5 略

3.6 exec sp_helpindex grade

exec sp_helpindex student_info

3.7 drop index grade.grade_index 3.8 略

3.9 create view v_stu_c

as

select a.学号,a.姓名,b.课程编号

from student_info a inner join grade b on a.学号=b.学号

select * from v_stu_c 3.10 create view v_stu_g

as

SELECT a.学号,a.姓名,b.课程编号,b.分数,c.课程名称

FROM student_info a INNER JOIN grade b ON a.学号=b.学号 INNER JOIN curriculum c ON b.课程编号= c.课程编号

3.11 select 学号,姓名,课程名称,分数from v_stu_g where 学号='0001' 3.12 alter view v_stu_c

as

SELECT a.学号, a.姓名, COUNT(b.课程编号) AS 人数 FROM student_info a INNER JOIN grade b ON a.学号= b.学号 GROUP BY a.学号,a.姓名

3.13 insert into v_stu_i values ('0015','陈婷','女')

3.14 update v_stu_g set 分数=84 where 姓名='刘卫平' and 课程名称='高等数学' 3.15 DROP VIEW v_stu_c,v_stu_g

/* 4.1 */

SELECT * INTO stu_phone FROM student_info

ALTER TABLE stu_phone ADD 电话号码CHAR(7) NULL CREATE rule phone_rule AS

@phone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]' sp_bindrule phone_rule ,'stu_phone.电话号码'

INSERT INTO stu_phone(学号,姓名,电话号码) VALUES('0009','王国强','1234567') /* 4.2 */

CREATE rule stusex_rule AS

@sex in ('男','女')

sp_bindrule stusex_rule,'stu_phone.性别' /* 4.3 */

sp_helptext stusex_rule

sp_rename stusex_rule,stu_s_rule /* 4.4 */

ALTER TABLE student_info ADD 院系CHAR(10) NULL