请用SQL语句完成以下操作:
1.查询通用公司单价大于20万的汽车信息并按照单价降序排列,需要含有以下4列:公司名称,车型名,单价和保修期。 select mc,cxmc,dj,bxq from QCGS c,QCXX x where c. bh=x.bh and dj>200000
2.查询每个汽车公司卖出每款汽车的总销量,需给出汽车公司编号,汽车编号和销量。
select bh,j.qcbh,count(xl) from QCXX x,JYJL j where x.qcbh=j.qcbh group by j.qcbh
3. 查询所有产地为“天津”的汽车公司编号和姓名。 select bh,xm from QCGS where szd='天津'
4.查询生产汽车种类大于2的汽车公司编号。 select bh from QCXX
group by bh having count(cxmc)>2 5.查询所有进行过交易的汽车编号。 select distinct qcbh from JYJL
6.查询单价在10万-20万之间的汽车名称和单价。 select cxmc,dj from QCXX
where dj between 100000 and 200000 7.查询销量高于平均销量的汽车名称 select cxmc from QCXX x,JYJL j
where x.qcbh=j.qcbh and xl>(select avg(xl) from JYJL) 8.查询没有卖出过的汽车编号。 select qcbh from QCXX
where not in(select qcbh from JYJL); 9.使用SQL语句将汽车单价增加10%。 update QCXX set dj=dj*1.1
10.使用SQL语句创建一个名为zxxl(最新销量)的视图,要求能够使用该视图查询2015年销售量的车型名称、单价、销量和销售日期。
create view zxxl as
select cxmc,dj,xl,xsrq from QCXX q,JYJL j where q.qcbh=j.qcbh and xsrq='2015' (七)设“职工_社团”数据库有3个基本表:
职工:zg (zgh,xm,nl,xb,gz); 社会团体:shtt(bh,nc,fzr,dd); 参加:cj(zgh,bh,rq)。
其中:(1)职工表zg的主码为zgh(职工号)。xm为姓名,nl为年龄,xb为性别,gz为工资。
(2)社会团体表shtt的主码为bh(编号),fzr(负责人)为外码,参照职工表zg的zgh。nc为名称,fzr为负责人,dd为活动地点
(3)参加表cj的职工号zgh和编号bh为主码;zgh为外码,参照职工表zg的zgh;编号bh为外码,参照社会团体表shtt的bh。 rq为参加日期。
使用SQL语句完成下列操作:
1.定义参加表,在语句中要求定义表中的主码和外码约束;(说明:表中属性的类型根据实际情况定义。)
create table cj( zgh char(5), bh char(4), primary key(zgh,bh),
foreign key(zgh) references zg(zgh), foreign key(bh) 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 zgh,xm from zg,shtt,cj
where zg.zgh=cj.zgh and shtt.bh=cj.bh and mc in('篮球队','歌唱队');
5.查找没有参加任何社会团体的职工信息;
selec * from zg where not in(select distinct zgh from cj)
6.将所有参加编号为“10001”的社会团体的职工的工资增加10%; update zg set gz=gz*1.1
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 bh,xm from zg,shtt where zg.zgh=shtt.fzr
9.删除职工号为’402’的职工参加所有社会团体的记录; delete from cj where zgh='402'
10.以职工姓名为参数建立一个带参数的存储过程,用于查询其所参加的社会团体的编号和名称,并调用此存储过程查询“王明”所参加的社会团体的编号和名称。
create procedure procl @name char(8) as
select shtt.bh,mc from zg z,shtt s,cj c
where z.zgh=c.zgh and shtt.bh=c.bh and xm=@name exec procl @name='王明'