2012計(jì)算機(jī)等級考試VFP上機(jī)典型試題三
題型2查詢
查詢時(shí)最終要看查詢的生成命令是否與標(biāo)準(zhǔn)答案一致
例題:已知js表存儲(chǔ)了每名教師的基本信息, 包含文化程度代碼(whcd,c),出生日期(csrq,D),工作日期(gzrq,D)等字段,視圖whcd為文化程度代碼與名稱對照表,含文化程度代碼(dm,c)和文化程度名稱(mc,c)等字段,按如下要求修改jxgl項(xiàng)目中的查詢chaxun:
基于js表和whcd試圖,統(tǒng)計(jì)各類文化程度的男性人數(shù)和工作時(shí)的平均年齡,要求:輸出文化程度代碼、文化程度名稱、人數(shù)和工作時(shí)的平均年齡(字段名依次分別為dm,mc,rs和pjnl),查詢結(jié)果按平均年齡降序排序輸出前3條數(shù)據(jù),且僅輸出人數(shù)大于等于2個(gè)人的,輸出去向?yàn)楸砦募emp,(注:教師工作時(shí)的年齡為工作日期的年份減去出生日期的年份)
操作:
(1)選中項(xiàng)目管理器中的chaxun,點(diǎn)擊”修改”,打開添加”表或試圖”,將js與視圖whcd(在右下方有視圖選項(xiàng))加入到查詢設(shè)計(jì)器中,這時(shí)會(huì)彈出”聯(lián)接條件”,因?yàn)閖s表與whcd視圖都有文化程度代碼,所以要依次選中js表中的whcd和whcd視圖中的dm,類型為”內(nèi)部聯(lián)接”,單擊”確定”
(2)在”字段”選項(xiàng)卡中的”可用字段”依次選中whcd.dm whcd.mcà添加至”選定字段”
因?yàn)槿藬?shù)要通過函數(shù)生成,所以在”函數(shù)和表達(dá)式”中輸入Count(*) as rs添加至”選定字段”
平均年齡也要通過函數(shù)生成,在”函數(shù)和表達(dá)式”中輸入Avg(year(gzrq)-year(csrq)) as pjnl添加至”選定字段”
(3)在”聯(lián)接”選項(xiàng)卡中前面已經(jīng)設(shè)置了js表與whcd聯(lián)接起來的條件,所以無需再設(shè)置,如果在(1)中沒有設(shè)置”聯(lián)接條件”,那么就要進(jìn)行設(shè)置,在類型中選中Inner join,字段名輸入js.whcd,條件輸入”=”,值輸入whcd.dm
(4)在”篩選”選項(xiàng)卡中選擇js.xb,條件”=”,實(shí)例”男”
(5)在”排序依據(jù)”選項(xiàng)卡中選擇pjnl添加至”選定字段”,在排序選項(xiàng)中選擇”降序”
(6)在”分組依據(jù)”選項(xiàng)卡中選擇whcd.dm,因?yàn)橐笕藬?shù)大于2的顯示,在”滿足條件”中選擇rs 》=,實(shí)例中輸入2
(7)”雜項(xiàng)”選項(xiàng)卡,將”列在前面的記錄”中的對號去掉,然后在記錄個(gè)數(shù)中輸入3
(8)右擊查詢設(shè)計(jì)器空白區(qū),選擇”輸出設(shè)置”,選中表,輸入temp, (注:有時(shí)候輸出文本文件,選擇”屏幕”à文本文件à輸入文件名)
(9)右擊查詢設(shè)計(jì)器空白區(qū),選擇”查看SQL語句”,比對生成的語句是否與標(biāo)準(zhǔn)答案一樣
SELECT 3 Whcd.*, count(*) as rs,;
avg(year(gzrq)-year(csrq)) as pjnl
FROM jxsj!js INNER JOIN jxsj!whcd
ON Js.whcd = Whcd.dm;
WHERE Js.xb = “男”;
GROUP BY Whcd.dm;
HAVING rs 》= 2;
ORDER BY 4 DESC;
INTO TABLE temp.dbf
題型2查詢
查詢時(shí)最終要看查詢的生成命令是否與標(biāo)準(zhǔn)答案一致
例題:已知js表存儲(chǔ)了每名教師的基本信息, 包含文化程度代碼(whcd,c),出生日期(csrq,D),工作日期(gzrq,D)等字段,視圖whcd為文化程度代碼與名稱對照表,含文化程度代碼(dm,c)和文化程度名稱(mc,c)等字段,按如下要求修改jxgl項(xiàng)目中的查詢chaxun:
基于js表和whcd試圖,統(tǒng)計(jì)各類文化程度的男性人數(shù)和工作時(shí)的平均年齡,要求:輸出文化程度代碼、文化程度名稱、人數(shù)和工作時(shí)的平均年齡(字段名依次分別為dm,mc,rs和pjnl),查詢結(jié)果按平均年齡降序排序輸出前3條數(shù)據(jù),且僅輸出人數(shù)大于等于2個(gè)人的,輸出去向?yàn)楸砦募emp,(注:教師工作時(shí)的年齡為工作日期的年份減去出生日期的年份)
操作:
(1)選中項(xiàng)目管理器中的chaxun,點(diǎn)擊”修改”,打開添加”表或試圖”,將js與視圖whcd(在右下方有視圖選項(xiàng))加入到查詢設(shè)計(jì)器中,這時(shí)會(huì)彈出”聯(lián)接條件”,因?yàn)閖s表與whcd視圖都有文化程度代碼,所以要依次選中js表中的whcd和whcd視圖中的dm,類型為”內(nèi)部聯(lián)接”,單擊”確定”
(2)在”字段”選項(xiàng)卡中的”可用字段”依次選中whcd.dm whcd.mcà添加至”選定字段”
因?yàn)槿藬?shù)要通過函數(shù)生成,所以在”函數(shù)和表達(dá)式”中輸入Count(*) as rs添加至”選定字段”
平均年齡也要通過函數(shù)生成,在”函數(shù)和表達(dá)式”中輸入Avg(year(gzrq)-year(csrq)) as pjnl添加至”選定字段”
(3)在”聯(lián)接”選項(xiàng)卡中前面已經(jīng)設(shè)置了js表與whcd聯(lián)接起來的條件,所以無需再設(shè)置,如果在(1)中沒有設(shè)置”聯(lián)接條件”,那么就要進(jìn)行設(shè)置,在類型中選中Inner join,字段名輸入js.whcd,條件輸入”=”,值輸入whcd.dm
(4)在”篩選”選項(xiàng)卡中選擇js.xb,條件”=”,實(shí)例”男”
(5)在”排序依據(jù)”選項(xiàng)卡中選擇pjnl添加至”選定字段”,在排序選項(xiàng)中選擇”降序”
(6)在”分組依據(jù)”選項(xiàng)卡中選擇whcd.dm,因?yàn)橐笕藬?shù)大于2的顯示,在”滿足條件”中選擇rs 》=,實(shí)例中輸入2
(7)”雜項(xiàng)”選項(xiàng)卡,將”列在前面的記錄”中的對號去掉,然后在記錄個(gè)數(shù)中輸入3
(8)右擊查詢設(shè)計(jì)器空白區(qū),選擇”輸出設(shè)置”,選中表,輸入temp, (注:有時(shí)候輸出文本文件,選擇”屏幕”à文本文件à輸入文件名)
(9)右擊查詢設(shè)計(jì)器空白區(qū),選擇”查看SQL語句”,比對生成的語句是否與標(biāo)準(zhǔn)答案一樣
SELECT 3 Whcd.*, count(*) as rs,;
avg(year(gzrq)-year(csrq)) as pjnl
FROM jxsj!js INNER JOIN jxsj!whcd
ON Js.whcd = Whcd.dm;
WHERE Js.xb = “男”;
GROUP BY Whcd.dm;
HAVING rs 》= 2;
ORDER BY 4 DESC;
INTO TABLE temp.dbf