1、第四章查询和视图上机补充练习:md d:088103132yinhuancd d:088103132yinhuancddir d:*.*MODIFY PROJECT d:088103132yinhuantest.pjx一、设计查询已知教师(JS)表中含有文化程度代码(WHCD,C)、职称(ZC,C)和出生日期(CSRQ, D)等字段,数据库中的文化程度视图(WHCDB)含有文化程度代码(CDDM)和文化程度名称(CDMC)字段。按如下要求在TEST项目中创建查询CHAXUN1:基于JS表和WHCDB视图统计各类职称、各类文化程度的教师人数、最小年龄。要求输出字段为:职称、文化程度名称、人数、最
2、小年龄,查询结果按职称和文化程度名称排序。(注:年龄按当前年份与出生年份之差求得。)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
3、)等字段,按如下要求在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)等字段
4、,在成绩(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;gro
5、up 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分时,学生可以取得对
6、应课程的学分。按如下要求在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 学号,su
7、m(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表统计各出版社提供教材的总数和平均单价。要求输出字段为:出版社名称、教材总数、平均单价,查询结果按出版社名称
8、排序。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表查询课程代号为0109的各门课程男女学生的人数、最高分和平均分,要求输出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 人数,