VALUES ('05020', '丁莉', '女', 17, '计算机系') 6.将计算机系全体学生的成绩置零。 UPDATE SG SET Grade=0
WHERE Sno IN(SELECT Sno FROM Student WHERE Sdept='计算机系')
7.创建一个“学生成绩”视图,包括选修了课程的学生的学号、姓名、选修课程的课程号、课程名以及成绩。
CREATE VIEW 学生成绩AS
SELECT Sno, Sname, Course.Cno, Cname, Grade FROM Student, SG, Student
Where Student.Sno=SG.Sno and Course.Cno=SG.Cno 或
CREATE VIEW 学生成绩AS
SELECT Sno, Sname, Course.Cno, Cname, Grade FROM Student JOIN SG ON Student.Sno=SG.Sno JOIN Course ON Course.Cno=SG.Cno
8.为Student表建立一个按学号升序排列的唯一索引Stusno_IDX。 CREATE UNIQUE INDEX Stusno_IDX ON Student(Sno) 9.求各课程的选修人数及平均成绩。 SELECT Cno,COUNT(Sno),AVG(Grage) FROM SG GROUP BY Cno
10.查询选修了课程编号为’14001’和’14002’课程的学生的学号和姓名。 SELECT Student.Sno,Sname FROM Student,SG
WHERE Student.Sno=SG.Sno AND Cno=’14001’ AND Sno IN(SELECT Sno FROM SG WHERE Cno=’14002’)
30
综合练习第4套
设“职工_社团”数据库有3个基本表:
职工:zg (zgh,xm,nl,xb,gz) //职工号、姓名、年龄、性别、工资 社会团体:shtt(bh,mc,fzr,dd)//编号、名称、负责人、地点 参加:cj(zgh,bh,rq)//职工号、编号、日期
1.定义参加表,在语句中要求定义表中的主码和外码约束;(说明:表中属性的类型根据实际情况定义。) create table cj( zgh char(8), bh char(8),
primary key(zgh,bh),
foreign key(zgh) references zg(zgh), foreign key(cno) references shtt(bh)) 2.查询每个社会团体的参加人数 Select count(*) From cj Group by bh
3.检索所有比“王华”年龄大的职工的姓名、年龄和性别 Select xm,nl,xb From zg
Where nl>(select nl from zg where xm='王华') 4.查找参加了歌唱队或篮球队的职工号和姓名 Select zg.zgh,xm From zg,shtt,cj
Where zg.zgh=cj.zgh and shtt.bh=cj.bh and mc in ('歌唱队','篮球队') 5.没有参加任何社会团体的职工信息 Select * From zg
Where zgh not in (select distinct zgh from cj)
6. 将所有参加编号为“10001”的社会团体的职工的工资增加10% Update zg Set gz=1.1*gz
Where zgh in (select zgh from cj where bh='10001') 7.查询年龄最大的职工的职工号和姓名 Select zgh,xm From zg
Where nl=(select max(nl) from zg)
8. 查询各社会团体的编号以及其负责人的姓名 Select zgh,xm from zg,shtt
where zg.zgh=shtt.fzr
9. 删除职工号为’402’的职工参加所有社会团体的记录
31
delete from cjWhere zgh='402'
10.以职工姓名为参数建立一个带参数的存储过程,用于查询其所参加的社会团体的编号和名称,并调用此存储过程查询“王明”所参加的社会团体的编号和名称。
32
综合练习第5套
已知汽车销售数据库QCXS包含QCGS(汽车公司)数据表、QCXX(汽车信息)数据表和JYJL(交易记录)数据表,表结构如表1、表2和表3所示:
表 1 QCGS(汽车公司表结构) 字段名 bh mc szd
表 2QCXX(汽车信息表结构) 字段名 qcbh cxmc bh dj bxq
表 3 JYJL(交易记录表结构) 字段名 jybh qcbh xl xsrq 单价和保修期。
Select 公司名称,车型名,单价,保修期 from QCXX, QCGS
where QCXX.公司编号= QCGS.公司编号and 公司名=”通用” and 单价>200000 order by 单价 desc
2.查询每个汽车公司卖出每款汽车的总销量,需给出汽车公司编号,汽车编号和销量。
Select 公司编号, QCXX.汽车编号,sum(销量) 销量 from QCXX, JYJL
where JYJL.汽车编号= QCXX.汽车编号 group by 公司编号, 汽车.汽车编号
3.查询所有产地为“天津”的汽车公司编号和公司名称。
Select公司编号,公司名称
33
字段类型 CHAR CHAR INT DATE 字段宽度 4 4 说明 交易编号,主码 汽车编号,外码 销量 销售日期 字段类型 CHAR CHAR CHAR INT INT 字段宽度 4 10 4 说明 汽车编号,主码 车型名称 公司编号,外码 单价 保修期,缺省值12 字段类型 CHAR CHAR CHAR 字段宽度 4 10 20 说明 公司编号,主码 公司名称,唯一 所在地 1.查询通用公司单价大于20万的汽车信息并按照单价降序排列,需要含有以下4列:公司名称,车型名,
from QCGS
where 产地=‘天津’
4.查询生产汽车种类大于2的汽车公司编号。
Select 公司编号 from汽车, QCGS
where汽车.公司编号=汽车公司.公司编号 group by 公司编号 having count(汽车编号)>2 5.查询所有进行过交易的汽车编号。
select distinct 汽车编号 from JYJL
6.查询单价在10万-20万之间的汽车名称和单价。
select 汽车名称,单价 from QCXX
where price between 10000 and 20000 7.查询销量高于平均销量的汽车名称
select 汽车名称 from QCXX
where 汽车编号 in(select 汽车编号 from JYJL where 销量>(select avg(销量) from JYJL) )
8.查询没有卖出过的汽车编号
select 汽车编号 from QCXX
where汽车编号 not in(select汽车编号from JYJL ) 9.使用SQL语句将汽车单价增加10%。
update QCXX set 单价=单价*1.1
10.使用SQL语句创建一个名为zxxl(最新销量)的视图,要求能够使用该视图查询2015年销售量的车型名称、单价、销量和销售日期。
create view zxxl as
select 车型名称,单价,销量,销售日期
34
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库总复习题(新)新 有答案(7)在线全文阅读。
相关推荐: