第 1 頁(yè):基本操作題 |
第 2 頁(yè):簡(jiǎn)單應(yīng)用題 |
第 3 頁(yè):綜合應(yīng)用題 |
三、綜合應(yīng)用題
3[簡(jiǎn)答題]
利用表設(shè)計(jì)器在考生文件夾下建立表table3,表結(jié)構(gòu)如下:
然后編寫程序prog1.prg,在xuesheng表和chengji表中查詢所有成績(jī)不及格(分?jǐn)?shù)小于60)的學(xué)生信息(學(xué)號(hào)、姓名、課程名和分?jǐn)?shù)),并把這些數(shù)據(jù)保存到表table3中(若一個(gè)學(xué)生有多門課程不及格,在表table3中就會(huì)有多條記錄)。要求查詢結(jié)果按分?jǐn)?shù)升序排列,分?jǐn)?shù)相同則按學(xué)號(hào)降序排列。
要求:在程序中用SET RELATION命令建立chengji表和xuesheng表之間的關(guān)聯(lián)(同時(shí)用INDEX命令建立相關(guān)的索引),并通過(guò)DO WHILE循環(huán)語(yǔ)句實(shí)現(xiàn)規(guī)定的功能。最后運(yùn)行程序。
參考解析:【考點(diǎn)分析】本大題主要考查的知識(shí)點(diǎn)是:新建自由表,創(chuàng)建程序文件,SQL語(yǔ)句中的0RDER BY、GROUPBY、INTO TABLE短語(yǔ)的使用,循環(huán)、選擇語(yǔ)句的使用,利用命令建立索引,刪除表以及SQL的插入語(yǔ)句。 【解題思路】利用建立索引的命令來(lái)新建索引,通過(guò)循環(huán)語(yǔ)句的使用來(lái)判斷滿足條件的數(shù)據(jù),再使用IF語(yǔ)句進(jìn)行分段節(jié)選,將符合要求的信息進(jìn)行保存,最后再將查詢出的結(jié)果進(jìn)行排序和保存,刪除中間表。
【操作步驟】
步驟1:通過(guò)前面所學(xué)的知識(shí),按照題目的要求新建一張表table3。
步驟2:新建程序prog1.prg,輸入下列命令語(yǔ)句,并運(yùn)行該程序。
* * * * * * prog1.prg中的代碼* * * * * * *
&&關(guān)閉程序運(yùn)算的顯示過(guò)程
SET TALK OFF
&&打開(kāi)數(shù)據(jù)庫(kù)
OPEN DATABASE cj_m
&&選擇查詢字段,制定字段來(lái)源,設(shè)置查詢條件,將查詢結(jié)果存儲(chǔ)列表temp中
SELECT*FRON table3 NHERE.F.TNTOTABLE temp
SEL,ECT 1
&&打開(kāi)xuesheng表
USE xuesheng
&&建立索引
INDEX ON學(xué)號(hào)TAG學(xué)號(hào)
SELECT 2
&&打開(kāi)chengji表
USE chengji
&&建立索引
INDEX ON學(xué)號(hào)TAG學(xué)號(hào)
SET RELATION T0學(xué)號(hào)INTO xuesheng
GOTOP
&&循環(huán)直至遍歷所有記錄
DO WHILE.NOT.EOF()
&&先進(jìn)行判斷,滿足條件就向temp表中插入數(shù)據(jù)
IF chengji.數(shù)學(xué)<60
INSERT INTO temp Values(xuesheng.學(xué)號(hào),xuesheng.姓名,‘?dāng)?shù)學(xué)’,chencjji.數(shù)學(xué))
ENDIF
&&先進(jìn)行判斷,滿足條件就向temp表中
插入數(shù)據(jù)TF chencsji.英語(yǔ)<60
INSERT TNTO temp Values(xuesheng.學(xué)號(hào),xuesheng.姓名,‘英語(yǔ)’,chengji.英語(yǔ))
(ENDTF
&&先進(jìn)行判斷,滿足條件就向temp表中插入數(shù)據(jù)
(IF chencjji.信息技術(shù)<60
INSERT TNTO temp Valuea(xueshencj.學(xué)號(hào),xuesheng.姓名,‘信息技術(shù)’,chengji.信息技術(shù))
(ENDDO
&&選擇查詢字段,指定字段來(lái)源,查詢結(jié)果按分?jǐn)?shù)升序排列,分?jǐn)?shù)相同按學(xué)號(hào)升序排列,將查詢結(jié)果存儲(chǔ)到AR.RAY arr中
SELECT*FROM temp ORDER BY分?jǐn)?shù),學(xué)號(hào)
DESC TNTO ARRAY arr
&&將ARRAY arr中數(shù)據(jù)插入table3中
TNSERT TNTO table3 FROM ARRAY arr
&&關(guān)閉數(shù)據(jù)庫(kù)
CLOSE DAr2ABASE
關(guān)閉表
CLOSE TABT,ES ALL
刪除temp
DROP TABLE temp
&&關(guān)閉程序運(yùn)算的顯示過(guò)程
SET TALK ON
&&返回
RETURN
* * * * * * * * * * * * * * * * * * * *
【易錯(cuò)提示】對(duì)于建立普通索引的命令以及利用命令刪除表,考生需要牢記,在循環(huán)語(yǔ)句和選擇語(yǔ)句的嵌套使用,也是需要考生特別注意的。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
全國(guó)計(jì)算機(jī)等級(jí)考試教材目錄(2017年版)
各地2017年全國(guó)計(jì)算機(jī)等級(jí)考試準(zhǔn)考證打印時(shí)間匯總
2017年全國(guó)計(jì)算機(jī)等級(jí)考試考前必做試題及答案匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |