1.使用企业管理器创建数据库”Jiaoxue”,创建C、SC、T 3张基本表,并录入数据; 表 C 创建 录入数据 SC T
2.在用查询分析器用SQL语言创建S表,S#为主键,SN不能为空;
USE Jiaoxue GO
CREATE TABLE S1 ( S# char(6)PRIMARY KEY , SN varchar(10) NOT NULL,
2.录入数据: );
AGE int ,
DEPT varchar(20)
SELECT * FROM View_jsj; 3.用查询分析器和企业管理器两种方法创建 计算机系学生的视图View_jsj,该视图的属 性有学号、姓名、任课老师号组成; (1)查询分析器创建视图View_jsj:
create view View_jsj(S#,SN,TN) as
select S.S#,SN,TN from S,T,SC
where S.S#=SC.S# and SC.C#=T.C#;
(2)企业管理器创建视图View_jsj:
4.检索计算机系年龄在20岁以上的学生学号;
select S# 学号,SN 姓名, AGE 年龄,DEPT 系别 from S
where DEPT='计算机' and AGE>20; 4. 5.检索姓王的老师所授课程的课程号以及课程名; select C.C# 课程号,CN 课程名 from C,T
where C.C#=T.C# and TN like'王%';
5. 6.检索张三同学所学课程的成绩、列出SN,C#,GR; select SN 姓名, C# 课程号,GR 成绩 from S,SC
where S.S#=SC.S# and SN='张三';
6. 7.检索选修总收入超过1000元的教师所授 课程的学生的姓名、课程号和成绩;
select SN 姓名, T.C# 课程号,GR 成绩 from S,SC,T
where S.S#=SC.S# and SC.C#=T.C# and SAL>1000;
7. 8.检索没有选修C1课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列;
select S.SN 姓名,AVG(GR) 平均成绩
8. from SC SCX,S where SCX.S#=S.S# and 'C1' not in
(select C# from SC where S.S#=SC.S#)and 2=
(select COUNT(SCY.C#) from SC SCY,S where SCY.S#=S.S# and SCX.S#=SCY.S#) group by S.SN
order by AVG(GR)DESC; select * from SC;
9.\\检索选修和张三同学所选课程中任意一门相同的学生姓名和课程号;
select DISTINCT SX.SN 姓名,SC.C# 课程号
from SC,S SX where SC.S#=SX.S# and SX.SN<>'张三' and exists( (select C# from SC,S SY where SC.S#=SY.S# and SY.SN='张三')
9. intersect
(select C# from SC,S SZ where SX.S#=SZ.S# and SC.S#=SZ.S#));
10.S1同学选修了C3,将此信息插入表中;
select * from SC; insert into SC values('S1','C3',null); select * from SC;
11.删除S表中没有选修任何课程的学生记录;
select * from S; delete from S where not exists( (select SY.S# from SC,S SY where SC.S#=SY.S#) intersect (select SZ.S# from SC,S SZ where S.S#=SZ.S# and SC.S#=SZ.S#)); select * from S;
12.将S表中所有学生年龄增加1岁;
select * from S; update S set AGE=AGE+1 select * from S;
13.删除之前创建的视图View_jsj;
select * from View_jsj; drop view View_jsj; select * from View_jsj;