资源描述
第四章查询和视图上机补充练习:
md d:\088103132yinhuan
cd d:\088103132yinhuan
cd
dir d:*.*
MODIFY PROJECT d:\088103132yinhuan\test.pjx
一、设计查询
已知教师(JS)表中含有文化程度代码(WHCD,C)、职称(ZC,C)和出生日期(CSRQ, D)等字段,数据库中的文化程度视图(WHCDB)含有文化程度代码(CDDM)和文化程度名称(CDMC)字段。按如下要求在TEST项目中创建查询CHAXUN1:
基于JS表和WHCDB视图统计各类职称、各类文化程度的教师人数、最小年龄。要求输出字段为:职称、文化程度名称、人数、最小年龄,查询结果按职称和文化程度名称排序。(注:年龄按当前年份与出生年份之差求得。)
select js.zc as 职称,whcd.cdmc as 文化程度,count(*) as 人数,;
min(year(date())-year(csrq)) as 最小年龄;
from js inner join whcd on js.whcd=whcd.cddm;
group by js.zc,js.whcd;
order by 1,2
五、设计查询
已知课程(KC)表中含有课程代号(KCDH,C)、课程名称(KCMC,C)等字段,在成绩(CJ)表中含有学生的学号(XH,C)、成绩(CJ,N)、课程代号(KCDH,C)等字段,按如下要求在TEST项目中创建查询CHAXUN5:
基于KC表和CJ表统计各门课程的学习人数、平均分。查询的输出字段为:KCDH、KCM、学习人数、平均分,要求统计结果中仅包含平均分在75(含75)以上的那些课程,且按平均分降序排序。
select kc.kcdh,kc.kcm,count(*) as 人数,avg(cj.cj) as 平均分;
from kc,cj;
where kc.kcdh=cj.kcdh and cj>=75;
group by cj cj.kcdh;
order by 4 desc
六、设计查询
已知课程(KC)表中含有课程代号(KCDH,C)、课程名称(KCMC,C)等字段,在成绩(CJ)表中含有学生的学号(XH,C)、成绩(CJ,N)、课程代号(KCDH,C)等字段,按如下要求在TEST项目中创建查询CHAXUN6:
基于KC表和CJ表统计所有课程的学习人数、平均分,查询的输出字段为:KCDH、KCM、平均分。要求统计结果中包含KC表中的所有课程,若CJ表中无某课程相关学生的成绩记录,则该课程的 “平均分”显示为NULL值;统计结果按平均分降序排序,相同时按课程代码升序排序。(提示:使用左联接。)
select kc.kcdh,kc.kcm,avg(cj.cj) as 平均分;
from kc inner join cj on kc.kcdh=cj.kcdh;
group by kc.kcdh;
order by 平均分 desc,1
下列命令给你参考:
select kc.kcdh,kc.kcm,count(*) as 学习人数,avg(cj.cj) as 平均分 ;
from kc left join cj on kc.kcdh=cj.kcdh ;
group by kc.kcdh ;
order by 平均分 desc,1
七、设计查询
已知课程(KC)表中含有课程代号(KCDH,C)、课程名称(KCMC,C)和学分(XF,N)等字段,在成绩(CJ)表中含有学生的学号(XH,C)、成绩(CJ,N)、课程代号(KCDH,C)等字段,若成绩不低于60分时,学生可以取得对应课程的学分。按如下要求在TEST项目中创建查询CHAXUN7:
基于KC表和CJ表统计每个学生已取得的总学分和所学课程门数。要求查询输出字段为:学号、总学分、课程门数,查询结果按总学分降序和学号升序排序。
select cj.xh as 学号,sum(iif(cj,cj)=60,kc.xf,0) as 平均分;
count(*) as 所有课程门数,;
from kc inner join cj on kc.kcdh=cj.kcdh;
group by cj.xh;
order by 2 desc,1
------缺少逗号,哪错了?iif()函数格式不对,下面命令给你参考:
select cj.xh as 学号,sum(iif(cj.cj>=60,kc.xf,0)) as 总学分,;
count(*) as 所学课程门数 ;
from kc inner join cj on kc.kcdh=cj.kcdh ;
group by cj.xh ;
order by 2 desc,1
八、设计查询
已知教材(JC)表存储了各门课程所用教材的情况,其中含有国际标准图书编号(ISBN, C)、教材名称(JCMC,C)、单价(DJ,N)和课程代码(KCDM,C)等字段。按如下要求在TEST项目中创建查询CHAXUN8:
基于JC表统计各出版社提供教材的总数和平均单价。要求输出字段为:出版社名称、教材总数、平均单价,查询结果按出版社名称排序。
select cbsmc as 出版社名称,count(*) as 教材总数,avg(jg) as 平均单价;
from jc;
group by cbsmc;
order by cbsmc
九、设计查询
已知在SJK数据库的学生(XS)表中含有学号(xh)、姓名(xm)、性别(xb)等字段;成绩(CJ)表中含有学号(xh)、课程代号(kcdh)、成绩(cj)等字段。按如下要求在TEST项目中创建查询CHAXUN9:
基于XS表和CJ表查询课程代号为01~09的各门课程男女学生的人数、最高分和平均分,要求输出kcdh、xb、人数、最高分和平均分,且查询结果输出至屏幕(即VFP主窗口)。
select cj.kcdh,xs.xb,count(*) as 人数;
max(cj.cj) as 最高分,avg(cj.cj) as 平均分;
from xs inner join cj on xs.xh=cj.xh;
where between(cj.kcdh,"01","09");
group by cj.kcdh,xs.xb;
to screen
------命令中含有不能识别的短语或关键字
——xs.xb,count(*) as 人数后,应有逗号xs.xb,count(*) as 人数,
展开阅读全文