1[單選題] 在Visual FoxPro中可以建立表的命令是( )。
A.CREATE
B.CREATE DATABASE
C.CREATE QUERY
D.CREATE FORM
參考答案:A
參考解析:用命令方式建立數(shù)據(jù)庫(kù)表的是在命令窗口利用OPEN DATA命令先打開數(shù)據(jù)庫(kù),然后利用CREATE命令打開表設(shè)計(jì)器進(jìn)行數(shù)據(jù)表設(shè)計(jì)。
2[簡(jiǎn)答題]
(1)在考生文件夾下,有一個(gè)數(shù)據(jù)庫(kù)“school”,其中有數(shù)據(jù)庫(kù)表“student”、“score”和“course”。在表單向?qū)е羞x取“一對(duì)多表單向?qū)А眲?chuàng)建一個(gè)表單。要求:從父表“student”中選取字段“學(xué)號(hào)”和“姓名”,從子表“score”中選取字段“課程編號(hào)”和“成績(jī)”,表單樣式選用“浮雕式”,按鈕類型使用“圖片按鈕”,按“學(xué)號(hào)”升序排序,表單標(biāo)題為“學(xué)生成績(jī)?yōu)g覽”,后將表單存放在考生文件夾中,表單文件名為 “bd2”。
(2)在考生文件夾中有一數(shù)據(jù)庫(kù)“school”,其中有數(shù)據(jù)庫(kù)表“student”、“score”和“course”。建立“成績(jī)大于等于75分”、按“學(xué)號(hào)”升序排序的本地視圖“view2”,該視圖按順序包含字段“學(xué)號(hào)”、“姓名”、“成績(jī)”和“課程名稱”。
參考解析:
【考點(diǎn)指引】本大題第1小題考查一對(duì)多表單向?qū)У氖褂茫攸c(diǎn)是多表之間字段的聯(lián)系;第2小題考查視圖的創(chuàng)建,重點(diǎn)是多表之間字段的聯(lián)系。
(1)【操作步驟】
①選擇【文件】→【打開】命令,在“打開”對(duì)話框的“文件類型”下拉列表框中選擇“數(shù)據(jù)庫(kù)”,選擇“school.dbc”,單擊“確定”按鈕,打開數(shù)據(jù)庫(kù)設(shè)計(jì)器。
②選擇【文件】→【新建】命令,選擇“表單”,單擊“向?qū)А卑粹o,在彈出的“向?qū)нx取”窗口中選擇“→對(duì)多表單向?qū)А?,單擊“確定”按鈕。
③在“→對(duì)多表單向?qū)А睂?duì)話框的“數(shù)據(jù)庫(kù)和表”列表框中選擇“student”表做父表,將“可用字段”下的“學(xué)號(hào)”和“姓名”字段添加到“選定字段”列表框中,單擊“下一步”按鈕。
④在“一對(duì)多表單向?qū)А睂?duì)話框的“數(shù)據(jù)庫(kù)和表”列表框中選擇“score”表做子表,將“可用字段”下的“課程編號(hào)”和“成績(jī)”字段添加到“選定字段”列表框中,單擊“下一步”按鈕。
⑤系統(tǒng)自動(dòng)選擇兩個(gè)表的“學(xué)號(hào)”字段作為關(guān)聯(lián)字段,單擊“下一步”按鈕,在“樣式”列表框中選擇“浮雕式”,“按鈕類型”選擇“圖片按鈕”,單擊“下一步”按鈕。
⑥在“可用的字段或索引標(biāo)識(shí)”列表框中選擇“學(xué)號(hào)”添加到“選定字段”列表框中,選擇“升序”,單擊“下一步”按鈕。
⑦輸入表單標(biāo)題為“學(xué)生成績(jī)?yōu)g覽”,單擊“完成”按鈕,輸入表單名稱“bd2”并保存退出。
(2)【操作步驟】
①選擇【文件】→【新建】命令,選擇“視圖”,單擊“新建文件”按鈕打開“添加表或視圖”對(duì)話框,選擇“表單”選項(xiàng),選擇數(shù)據(jù)庫(kù)“school”,將表“score”、“student”和“course”分別“添加”到視圖設(shè)計(jì)器中,系統(tǒng)會(huì)自動(dòng)選擇關(guān)聯(lián)字段“學(xué)號(hào)”為表“score”和“student”建立內(nèi)部聯(lián)系,選擇關(guān)聯(lián)字段“課程編號(hào)”為表“score”和“course”建立內(nèi)部聯(lián)系,單擊“確定”按鈕關(guān)閉“連接條件”對(duì)話框,再關(guān)閉“添加表或視圖”對(duì)話框。
②在視圖設(shè)計(jì)器中單擊“字段”選項(xiàng)卡,將“可用字段”列表框中的“student.學(xué)號(hào)”、“student.姓名”、“score.成績(jī)”和“course.課程名稱”等字段添加到右邊的“選定字段”列表框中。
③在視圖設(shè)計(jì)器中單擊“篩選”選項(xiàng)卡,在“字段名”下拉列表框中選擇“score.成績(jī)”字段,在“條件”下拉列表框中選擇“>=”,在“實(shí)例”編輯框中輸入“75”。
④在視圖設(shè)計(jì)器中單擊“排序依據(jù)”選項(xiàng)卡,在“排序依據(jù)”選項(xiàng)卡的“字段名”下拉列表框中選擇“student.學(xué)號(hào)”字段,單擊“添加”按鈕,將“student.學(xué)號(hào)”字段添加到右邊的“排序條件”列表框中,在“排序條件”中選擇“升序”單選項(xiàng)。
⑤在視圖設(shè)計(jì)器中單擊“連接”選項(xiàng)卡,在第一行的“邏輯”下拉列表框中選擇“AND”。
⑥在視圖設(shè)計(jì)器中單擊“關(guān)閉”按鈕,將視圖以“view2”文件名保存在考生文件夾下。
3[簡(jiǎn)答題]對(duì)“公司”數(shù)據(jù)庫(kù)中的表“職員信息”和“部門”,建立文件名為“bd3”的表單,標(biāo)題為“公司管理”,表單上有一個(gè)表格控件和3個(gè)命令按鈕,標(biāo)題分別為“按部門查看”、“人數(shù)統(tǒng)計(jì)”和“關(guān)閉”。
當(dāng)表單運(yùn)行時(shí):
(1)單擊“按部門查看”按鈕,以“部門編號(hào)”排序查詢職員信息表中的記錄,結(jié)果在表格控件中顯示。
(2)單擊“人數(shù)統(tǒng)計(jì)”按鈕,查詢職員信息表中各部門的人數(shù),結(jié)果中含“部門編號(hào)”和“人數(shù)”等字段,結(jié)果在表格控件中顯示。
(3)單擊“關(guān)閉”按鈕,關(guān)閉表單。
參考解析:
【考點(diǎn)指引】本大題主要考查表單的建立,重點(diǎn)是命令按鈕事件代碼的編寫和表格控件數(shù)據(jù)源的設(shè)置。
【操作步驟】
①選擇【文件】→【新建】命令,選擇“表單”,單擊“新建文件”按鈕打開表單設(shè)計(jì)器,將Caption屬性值修改為“公司管理”,單擊表單控件工具欄上的“命令按鈕”控件圖標(biāo),為表單添加3個(gè)命令按鈕Command1、Command2和Command3,單擊表單控件工具欄上的“表格”控件圖標(biāo),再添加一個(gè)表格控件。
②分別選擇3個(gè)命令按鈕,在按鈕屬性窗口中將命令按鈕Command1的Caption屬性值修改為“按部門查看”,Command2的Caption屬性值修改為“人數(shù)統(tǒng)計(jì)”,Command3的Caption屬性值修改為“關(guān)閉”,如圖20–1所示。雙擊“關(guān)閉”命令按鈕,在Click事件中輸入代碼:ThisForm.Release,用來關(guān)閉表單。
③選擇表格控件“Grid1”,在表格控件屬性窗口中將“RecordSource”屬性值修改為“〝〞”,將“RecordSourceType”屬性值修改為“1”。
④雙擊“按部門查看”命令按鈕,在Click事件中輸入代碼:
SELECT*INTO CURSOR tmp FROM職員信息0R–DER BY部門編號(hào)
ThisForm.Grid1.RecordSourceType=1
ThisForm.Grid1.RecordSource=〝tmp〞
ThisForm.Grid1.Refresh
⑤雙擊“人數(shù)統(tǒng)計(jì)”命令按鈕,在Click事件中輸入代碼:
SELECT部門編號(hào),C0UNT(*)AS人數(shù)INTO CURSOR tmp FROM職員信息
ThisForm.Grid1.RecordSourceType=1
ThisForm.Grid1.RecordSource=〝tmp〞
ThisForm.Grid1.Refresh
⑥選擇【表單】→【執(zhí)行表單】命令,系統(tǒng)首先要求保存該表單文件,在彈出的“另存為”對(duì)話框中輸入表單文件名“bd3”,保存在考生文件夾下,然后運(yùn)行表單。
4[單選題] 有以下兩個(gè)表:
讀者(借書證號(hào)C,姓名C。單位C,性別L。職稱C。聯(lián)系電話C.·
借閱(借書證號(hào)C,總編號(hào)C,借書日期D.
查詢沒有借閱任何圖書的讀者信息,不正確的SQL語(yǔ)句是
A.SELECT*FROM讀者WHERE借書證號(hào)<>ANY(SELECT借書證號(hào)FROM借閱.B.SELECT*FROM讀者WHERE借書證號(hào).<>ALL(SELECT借書證號(hào)FROM借閱.C.SELECT*FROM讀者WHERE借書證號(hào)NOTIN(SELECT借書證號(hào)FROM借閱.D.SELECT*FROM讀者WHERENOTEXISTS(SELECT借書證號(hào)FROM借閱;
WHERE借書證號(hào)=讀者.借書證號(hào)
參考答案:A
參考解析:‘.<>”為常用的特殊運(yùn)算符,表示“不等于”,NOTIN表示“不在一組值的范圍內(nèi)”,EXISTS是謂詞,EX-ISTS或NOTEXISTS是用來檢查在子查詢中是否有結(jié)果返回,即存在元組或不存在元組。本題查詢沒有任何借閱記錄的圖書信息,選項(xiàng)B、C、D均可進(jìn)行查詢,但是沒有“any”這一說法,因此本題選A。
5[單選題] 在SQL SELECT查詢中,為了使查詢結(jié)果排序必須使用短語(yǔ)( ).
A.ASCB.DESCC.GROUPBYD.ORDERBY
參考答案:D
參考解析:0RDER BY是對(duì)終的查詢結(jié)果進(jìn)行排序,用ORDER BY短語(yǔ)可將查詢結(jié)果按升序(ASC)或降序(DESC)排列。GROUP BY短語(yǔ)用于對(duì)查詢結(jié)果進(jìn)行分組。
6[單選題] 有以下表:
讀者(借書證號(hào)C,姓名C,單位C,性別L,職稱C,聯(lián)系電話C.
參考答案:D
參考解析:BETWEEN…AND…表示“在……和……之間”‘其中包含等于,即大于等于AND前面的數(shù)。“!”和“not”表示“不等于”,題干要求查詢單價(jià)小于16或大于20的圖書信息, A、B、C選項(xiàng)均為正確的SQL語(yǔ)句,因此本題選D。
7[單選題]程序流程圖中帶有箭頭的線段表示的是( )。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
參考答案:C
參考解析:在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用標(biāo)有名字的箭頭表示控制流。所以選擇C)。
8[單選題]下列程序段執(zhí)行后,內(nèi)存變量sl的值是
sl=”奧運(yùn)會(huì)游泳比賽”
sl=stuff(sl,7,4,”田徑”.7s1
A.奧運(yùn)會(huì)游泳比賽
B.奧運(yùn)會(huì)田徑比賽
C.奧運(yùn)會(huì)田徑
D.奧運(yùn)會(huì)游泳
參考答案:B
參考解析:STUFF(<字符表達(dá)式1>,<起始位置>,<長(zhǎng)度>,<字符表達(dá)式2>.為子串替換函數(shù),用<字符表達(dá)式2>值替換<字符表達(dá)式1>中由<起始位置>和<長(zhǎng)度>指定的一個(gè)子串。替換和被替換的字符個(gè)數(shù)不一定相等。如果<長(zhǎng)度>值是0,<字符表達(dá)式2>則插在由<起始位置>指定的字符前面。如果<字符表達(dá)式2>值是空串,那么<字符表達(dá)式1>中由<起始位置>和<長(zhǎng)度>指定的子串被刪去。本題正確答案為B。
9[單選題] 查詢訂購(gòu)單的數(shù)量和所有訂購(gòu)單金額合計(jì)的正確命令是( )。
A.SELECT COUNT(DISTINCT訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品JOIN訂購(gòu)單名細(xì)ON產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
B.SELECT COUNT(訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品JOIN訂購(gòu)單名細(xì)ON產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
C.SELECT COUNT(DISTINCT訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品,訂購(gòu)單名細(xì)0N產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
D.SELECT COUNT(訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品,訂購(gòu)單名細(xì)0N產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
參考答案:A
參考解析:SQL的核心是查詢。SQL的查詢命令也稱作SELECT命令,它的基本形式由SELECT-FROM-WHERE查詢塊組成,多個(gè)查詢塊可以嵌套執(zhí)行。超連接查詢有四種連接方式,其基本格式如下:SELECT…FROM左表IN-NER I LEFT l RIGHT I FULL JOIN右表0N連接條件WTIERE其他條件。本題DISTINCT用于去掉重復(fù)值,COUNT(DIS.TINCT訂單號(hào))表示訂購(gòu)單的數(shù)量,SUM(數(shù)量*單價(jià))為訂購(gòu)單金額,A)選項(xiàng)格式正確。
10[簡(jiǎn)答題]首先將“order_d”表全部?jī)?nèi)容復(fù)制到“order_d2”表,然后對(duì)“order_d2”表編寫完成如下功能的程序:
(1)把訂單中“商品編號(hào)”相同的訂單合并為一張訂單,新的“訂單編號(hào)”取小的“訂單編號(hào)”,“單價(jià)”取加權(quán)平均單價(jià)(即“商品編號(hào)”相同的訂單總金額/總數(shù)量),“數(shù)量”取合計(jì)。
(2)結(jié)果先按新的“訂單編號(hào)”升序排序,再按“商品編號(hào)”升序排序。
(3)終記錄的處理結(jié)果保存在“order_d3”表中。
(4)后將程序保存為“cx1.prg”,并執(zhí)行該程序。
參考解析:
【考點(diǎn)指引】本大題主要考查SQL SELECT代碼的編寫,重點(diǎn)是分組命令GROUP BY、求小值MIN函數(shù)和求和函數(shù)SUM的使用。
【操作步驟】
①在命令窗口中輸入命令:MODI COMM cx1(回車執(zhí)行),打開程序文件編輯窗口,在程序文件編輯窗口中輸入以下程序代碼:
SELECT*INTO TABLE order_d2 FROM order_d
SELECT MIN(訂單編號(hào))AS新訂單號(hào),商品編號(hào),SUM(數(shù)量*單價(jià))/SUM(數(shù)量)AS單價(jià),SUM(數(shù)量)AS數(shù)量INTO TABLE order_d3 FROM order_d2 GROUP BY商品編號(hào)0RDER BY新訂單號(hào),商品編號(hào)
關(guān)閉程序文件編輯窗口并保存程序文件。
②在命令窗口中輸入命令:DO cx1(回車執(zhí)行),執(zhí)行程序文件。
A.CREATE
B.CREATE DATABASE
C.CREATE QUERY
D.CREATE FORM
參考答案:A
參考解析:用命令方式建立數(shù)據(jù)庫(kù)表的是在命令窗口利用OPEN DATA命令先打開數(shù)據(jù)庫(kù),然后利用CREATE命令打開表設(shè)計(jì)器進(jìn)行數(shù)據(jù)表設(shè)計(jì)。
2[簡(jiǎn)答題]
(1)在考生文件夾下,有一個(gè)數(shù)據(jù)庫(kù)“school”,其中有數(shù)據(jù)庫(kù)表“student”、“score”和“course”。在表單向?qū)е羞x取“一對(duì)多表單向?qū)А眲?chuàng)建一個(gè)表單。要求:從父表“student”中選取字段“學(xué)號(hào)”和“姓名”,從子表“score”中選取字段“課程編號(hào)”和“成績(jī)”,表單樣式選用“浮雕式”,按鈕類型使用“圖片按鈕”,按“學(xué)號(hào)”升序排序,表單標(biāo)題為“學(xué)生成績(jī)?yōu)g覽”,后將表單存放在考生文件夾中,表單文件名為 “bd2”。
(2)在考生文件夾中有一數(shù)據(jù)庫(kù)“school”,其中有數(shù)據(jù)庫(kù)表“student”、“score”和“course”。建立“成績(jī)大于等于75分”、按“學(xué)號(hào)”升序排序的本地視圖“view2”,該視圖按順序包含字段“學(xué)號(hào)”、“姓名”、“成績(jī)”和“課程名稱”。
參考解析:
【考點(diǎn)指引】本大題第1小題考查一對(duì)多表單向?qū)У氖褂茫攸c(diǎn)是多表之間字段的聯(lián)系;第2小題考查視圖的創(chuàng)建,重點(diǎn)是多表之間字段的聯(lián)系。
(1)【操作步驟】
①選擇【文件】→【打開】命令,在“打開”對(duì)話框的“文件類型”下拉列表框中選擇“數(shù)據(jù)庫(kù)”,選擇“school.dbc”,單擊“確定”按鈕,打開數(shù)據(jù)庫(kù)設(shè)計(jì)器。
②選擇【文件】→【新建】命令,選擇“表單”,單擊“向?qū)А卑粹o,在彈出的“向?qū)нx取”窗口中選擇“→對(duì)多表單向?qū)А?,單擊“確定”按鈕。
③在“→對(duì)多表單向?qū)А睂?duì)話框的“數(shù)據(jù)庫(kù)和表”列表框中選擇“student”表做父表,將“可用字段”下的“學(xué)號(hào)”和“姓名”字段添加到“選定字段”列表框中,單擊“下一步”按鈕。
④在“一對(duì)多表單向?qū)А睂?duì)話框的“數(shù)據(jù)庫(kù)和表”列表框中選擇“score”表做子表,將“可用字段”下的“課程編號(hào)”和“成績(jī)”字段添加到“選定字段”列表框中,單擊“下一步”按鈕。
⑤系統(tǒng)自動(dòng)選擇兩個(gè)表的“學(xué)號(hào)”字段作為關(guān)聯(lián)字段,單擊“下一步”按鈕,在“樣式”列表框中選擇“浮雕式”,“按鈕類型”選擇“圖片按鈕”,單擊“下一步”按鈕。
⑥在“可用的字段或索引標(biāo)識(shí)”列表框中選擇“學(xué)號(hào)”添加到“選定字段”列表框中,選擇“升序”,單擊“下一步”按鈕。
⑦輸入表單標(biāo)題為“學(xué)生成績(jī)?yōu)g覽”,單擊“完成”按鈕,輸入表單名稱“bd2”并保存退出。
(2)【操作步驟】
①選擇【文件】→【新建】命令,選擇“視圖”,單擊“新建文件”按鈕打開“添加表或視圖”對(duì)話框,選擇“表單”選項(xiàng),選擇數(shù)據(jù)庫(kù)“school”,將表“score”、“student”和“course”分別“添加”到視圖設(shè)計(jì)器中,系統(tǒng)會(huì)自動(dòng)選擇關(guān)聯(lián)字段“學(xué)號(hào)”為表“score”和“student”建立內(nèi)部聯(lián)系,選擇關(guān)聯(lián)字段“課程編號(hào)”為表“score”和“course”建立內(nèi)部聯(lián)系,單擊“確定”按鈕關(guān)閉“連接條件”對(duì)話框,再關(guān)閉“添加表或視圖”對(duì)話框。
②在視圖設(shè)計(jì)器中單擊“字段”選項(xiàng)卡,將“可用字段”列表框中的“student.學(xué)號(hào)”、“student.姓名”、“score.成績(jī)”和“course.課程名稱”等字段添加到右邊的“選定字段”列表框中。
③在視圖設(shè)計(jì)器中單擊“篩選”選項(xiàng)卡,在“字段名”下拉列表框中選擇“score.成績(jī)”字段,在“條件”下拉列表框中選擇“>=”,在“實(shí)例”編輯框中輸入“75”。
④在視圖設(shè)計(jì)器中單擊“排序依據(jù)”選項(xiàng)卡,在“排序依據(jù)”選項(xiàng)卡的“字段名”下拉列表框中選擇“student.學(xué)號(hào)”字段,單擊“添加”按鈕,將“student.學(xué)號(hào)”字段添加到右邊的“排序條件”列表框中,在“排序條件”中選擇“升序”單選項(xiàng)。
⑤在視圖設(shè)計(jì)器中單擊“連接”選項(xiàng)卡,在第一行的“邏輯”下拉列表框中選擇“AND”。
⑥在視圖設(shè)計(jì)器中單擊“關(guān)閉”按鈕,將視圖以“view2”文件名保存在考生文件夾下。
3[簡(jiǎn)答題]對(duì)“公司”數(shù)據(jù)庫(kù)中的表“職員信息”和“部門”,建立文件名為“bd3”的表單,標(biāo)題為“公司管理”,表單上有一個(gè)表格控件和3個(gè)命令按鈕,標(biāo)題分別為“按部門查看”、“人數(shù)統(tǒng)計(jì)”和“關(guān)閉”。
當(dāng)表單運(yùn)行時(shí):
(1)單擊“按部門查看”按鈕,以“部門編號(hào)”排序查詢職員信息表中的記錄,結(jié)果在表格控件中顯示。
(2)單擊“人數(shù)統(tǒng)計(jì)”按鈕,查詢職員信息表中各部門的人數(shù),結(jié)果中含“部門編號(hào)”和“人數(shù)”等字段,結(jié)果在表格控件中顯示。
(3)單擊“關(guān)閉”按鈕,關(guān)閉表單。
參考解析:
【考點(diǎn)指引】本大題主要考查表單的建立,重點(diǎn)是命令按鈕事件代碼的編寫和表格控件數(shù)據(jù)源的設(shè)置。
【操作步驟】
①選擇【文件】→【新建】命令,選擇“表單”,單擊“新建文件”按鈕打開表單設(shè)計(jì)器,將Caption屬性值修改為“公司管理”,單擊表單控件工具欄上的“命令按鈕”控件圖標(biāo),為表單添加3個(gè)命令按鈕Command1、Command2和Command3,單擊表單控件工具欄上的“表格”控件圖標(biāo),再添加一個(gè)表格控件。
②分別選擇3個(gè)命令按鈕,在按鈕屬性窗口中將命令按鈕Command1的Caption屬性值修改為“按部門查看”,Command2的Caption屬性值修改為“人數(shù)統(tǒng)計(jì)”,Command3的Caption屬性值修改為“關(guān)閉”,如圖20–1所示。雙擊“關(guān)閉”命令按鈕,在Click事件中輸入代碼:ThisForm.Release,用來關(guān)閉表單。
③選擇表格控件“Grid1”,在表格控件屬性窗口中將“RecordSource”屬性值修改為“〝〞”,將“RecordSourceType”屬性值修改為“1”。
④雙擊“按部門查看”命令按鈕,在Click事件中輸入代碼:
SELECT*INTO CURSOR tmp FROM職員信息0R–DER BY部門編號(hào)
ThisForm.Grid1.RecordSourceType=1
ThisForm.Grid1.RecordSource=〝tmp〞
ThisForm.Grid1.Refresh
⑤雙擊“人數(shù)統(tǒng)計(jì)”命令按鈕,在Click事件中輸入代碼:
SELECT部門編號(hào),C0UNT(*)AS人數(shù)INTO CURSOR tmp FROM職員信息
ThisForm.Grid1.RecordSourceType=1
ThisForm.Grid1.RecordSource=〝tmp〞
ThisForm.Grid1.Refresh
⑥選擇【表單】→【執(zhí)行表單】命令,系統(tǒng)首先要求保存該表單文件,在彈出的“另存為”對(duì)話框中輸入表單文件名“bd3”,保存在考生文件夾下,然后運(yùn)行表單。
4[單選題] 有以下兩個(gè)表:
讀者(借書證號(hào)C,姓名C。單位C,性別L。職稱C。聯(lián)系電話C.·
借閱(借書證號(hào)C,總編號(hào)C,借書日期D.
查詢沒有借閱任何圖書的讀者信息,不正確的SQL語(yǔ)句是
A.SELECT*FROM讀者WHERE借書證號(hào)<>ANY(SELECT借書證號(hào)FROM借閱.B.SELECT*FROM讀者WHERE借書證號(hào).<>ALL(SELECT借書證號(hào)FROM借閱.C.SELECT*FROM讀者WHERE借書證號(hào)NOTIN(SELECT借書證號(hào)FROM借閱.D.SELECT*FROM讀者WHERENOTEXISTS(SELECT借書證號(hào)FROM借閱;
WHERE借書證號(hào)=讀者.借書證號(hào)
參考答案:A
參考解析:‘.<>”為常用的特殊運(yùn)算符,表示“不等于”,NOTIN表示“不在一組值的范圍內(nèi)”,EXISTS是謂詞,EX-ISTS或NOTEXISTS是用來檢查在子查詢中是否有結(jié)果返回,即存在元組或不存在元組。本題查詢沒有任何借閱記錄的圖書信息,選項(xiàng)B、C、D均可進(jìn)行查詢,但是沒有“any”這一說法,因此本題選A。
5[單選題] 在SQL SELECT查詢中,為了使查詢結(jié)果排序必須使用短語(yǔ)( ).
A.ASCB.DESCC.GROUPBYD.ORDERBY
參考答案:D
參考解析:0RDER BY是對(duì)終的查詢結(jié)果進(jìn)行排序,用ORDER BY短語(yǔ)可將查詢結(jié)果按升序(ASC)或降序(DESC)排列。GROUP BY短語(yǔ)用于對(duì)查詢結(jié)果進(jìn)行分組。
6[單選題] 有以下表:
讀者(借書證號(hào)C,姓名C,單位C,性別L,職稱C,聯(lián)系電話C.

參考答案:D
參考解析:BETWEEN…AND…表示“在……和……之間”‘其中包含等于,即大于等于AND前面的數(shù)。“!”和“not”表示“不等于”,題干要求查詢單價(jià)小于16或大于20的圖書信息, A、B、C選項(xiàng)均為正確的SQL語(yǔ)句,因此本題選D。
7[單選題]程序流程圖中帶有箭頭的線段表示的是( )。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
參考答案:C
參考解析:在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用標(biāo)有名字的箭頭表示控制流。所以選擇C)。
8[單選題]下列程序段執(zhí)行后,內(nèi)存變量sl的值是
sl=”奧運(yùn)會(huì)游泳比賽”
sl=stuff(sl,7,4,”田徑”.7s1
A.奧運(yùn)會(huì)游泳比賽
B.奧運(yùn)會(huì)田徑比賽
C.奧運(yùn)會(huì)田徑
D.奧運(yùn)會(huì)游泳
參考答案:B
參考解析:STUFF(<字符表達(dá)式1>,<起始位置>,<長(zhǎng)度>,<字符表達(dá)式2>.為子串替換函數(shù),用<字符表達(dá)式2>值替換<字符表達(dá)式1>中由<起始位置>和<長(zhǎng)度>指定的一個(gè)子串。替換和被替換的字符個(gè)數(shù)不一定相等。如果<長(zhǎng)度>值是0,<字符表達(dá)式2>則插在由<起始位置>指定的字符前面。如果<字符表達(dá)式2>值是空串,那么<字符表達(dá)式1>中由<起始位置>和<長(zhǎng)度>指定的子串被刪去。本題正確答案為B。
9[單選題] 查詢訂購(gòu)單的數(shù)量和所有訂購(gòu)單金額合計(jì)的正確命令是( )。
A.SELECT COUNT(DISTINCT訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品JOIN訂購(gòu)單名細(xì)ON產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
B.SELECT COUNT(訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品JOIN訂購(gòu)單名細(xì)ON產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
C.SELECT COUNT(DISTINCT訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品,訂購(gòu)單名細(xì)0N產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
D.SELECT COUNT(訂單號(hào)),SUM(數(shù)量*單價(jià))FROM產(chǎn)品,訂購(gòu)單名細(xì)0N產(chǎn)品.產(chǎn)品號(hào)=訂購(gòu)單名細(xì).產(chǎn)品號(hào)
參考答案:A
參考解析:SQL的核心是查詢。SQL的查詢命令也稱作SELECT命令,它的基本形式由SELECT-FROM-WHERE查詢塊組成,多個(gè)查詢塊可以嵌套執(zhí)行。超連接查詢有四種連接方式,其基本格式如下:SELECT…FROM左表IN-NER I LEFT l RIGHT I FULL JOIN右表0N連接條件WTIERE其他條件。本題DISTINCT用于去掉重復(fù)值,COUNT(DIS.TINCT訂單號(hào))表示訂購(gòu)單的數(shù)量,SUM(數(shù)量*單價(jià))為訂購(gòu)單金額,A)選項(xiàng)格式正確。
10[簡(jiǎn)答題]首先將“order_d”表全部?jī)?nèi)容復(fù)制到“order_d2”表,然后對(duì)“order_d2”表編寫完成如下功能的程序:
(1)把訂單中“商品編號(hào)”相同的訂單合并為一張訂單,新的“訂單編號(hào)”取小的“訂單編號(hào)”,“單價(jià)”取加權(quán)平均單價(jià)(即“商品編號(hào)”相同的訂單總金額/總數(shù)量),“數(shù)量”取合計(jì)。
(2)結(jié)果先按新的“訂單編號(hào)”升序排序,再按“商品編號(hào)”升序排序。
(3)終記錄的處理結(jié)果保存在“order_d3”表中。
(4)后將程序保存為“cx1.prg”,并執(zhí)行該程序。
參考解析:
【考點(diǎn)指引】本大題主要考查SQL SELECT代碼的編寫,重點(diǎn)是分組命令GROUP BY、求小值MIN函數(shù)和求和函數(shù)SUM的使用。
【操作步驟】
①在命令窗口中輸入命令:MODI COMM cx1(回車執(zhí)行),打開程序文件編輯窗口,在程序文件編輯窗口中輸入以下程序代碼:
SELECT*INTO TABLE order_d2 FROM order_d
SELECT MIN(訂單編號(hào))AS新訂單號(hào),商品編號(hào),SUM(數(shù)量*單價(jià))/SUM(數(shù)量)AS單價(jià),SUM(數(shù)量)AS數(shù)量INTO TABLE order_d3 FROM order_d2 GROUP BY商品編號(hào)0RDER BY新訂單號(hào),商品編號(hào)
關(guān)閉程序文件編輯窗口并保存程序文件。
②在命令窗口中輸入命令:DO cx1(回車執(zhí)行),執(zhí)行程序文件。

