國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷2(共262題)_第1頁
國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷2(共262題)_第2頁
國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷2(共262題)_第3頁
國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷2(共262題)_第4頁
國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷2(共262題)_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷2(共9套)(共262題)國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷第1套一、選擇題(本題共30題,每題1.0分,共30分。)1、SQL的SELECT語句中,“HAVING”用來篩選滿足條件的A、列B、行C、關系D、分組標準答案:D知識點解析:本題考查的是“HAVING”短語的含義。在SQL的SELECT語句中,GROUPBY<分組字段1>[,分組字段2…][HAVING分組限定條件],可以按一列或多列分組,還可以使用HAVING進一步限定分組的條件。HAVING子句總是跟在GROUPBY子句之后,不可以單獨使用。2、在VisualFoxPro中,假設教師表T(教師號,姓名,性別,職稱,研究生導師)中,性別是C型字段,研究生導師是L型字段。若要查詢“是研究生導師的女老師”信息,那么SQL語句“SELECT*FROMTWHERE<邏輯表達式>”中的<邏輯表達式>應是A、研究生導師AND性別="女"B、研究生導師OR性別="女"C、性別="女"AND研究生導師=.F.D、研究生導師=.T.OR性別=女標準答案:A知識點解析:根據(jù)題意,查詢應該同時滿足兩個條件,即“研究生導師”和“女老師”,兩個條件應該用AND連接,故選項B)和選項C)錯誤;由于“研究生導師”字段是邏輯型,對應表達式應寫為“研究生導師=.T.”或者“研究生導師”。3、查詢學生選修課程成績小于60分的學號,正確的SQL語句是A、SELECTDISTINCT學號FROMSCWHERE"成績"<60B、SELECTDISTINCT學號FROMSCWHERE成績<"60"C、SELECTDISTINCT學號FROMSCWHERE成績<60D、SELECTDISTINCT"學號"FROMSCWHERE"成績"<60標準答案:C知識點解析:查詢條件“課程成績小于60分”對應的條件表達式應該書寫為“成績<60”。4、查詢學生表S的全部記錄并存儲于臨時表文件one中的SQL命令是A、SELECT*FROM學生表INTOCURSORoneB、SELECT*FROM學生表TOCURSORoneC、SELECT*FROM學生表INTOCURSORDBFoneD、SELECT(FROM學生表TOCURSORDBFone標準答案:A知識點解析:將查詢結果保存在臨時表中應使用短語INTOCURSOR<表名>。5、查詢成績在70分至85分之間學生的學號、課程號和成績,正確的SQL語句是A、SELECT學號,課程號,成績FROMSCWHERE成績BETWEEN70AND85B、SELECT學號,課程號,成績FROMSCWHERE成績>=70OR成績<=85C、SELECT學號,課程號,成績FROMSCWHERE成績>=70OR<=85D、SELECT學號,課程號,成績FROMSCWHERE成績>=70AND<=85標準答案:A知識點解析:如果查詢條件的值是在什么范圍之內,可以使用BETWEEN…AND…運算。6、查詢有選課記錄,但沒有考試成績的學生的學號和課程號,正確的SQL語句是A、SELECT學號,課程號FROMSCWHERE成績=""B、SELECT學號,課程號FROMSCWHERE成績=NULLC、SELECT學號,課程號FROMSCWHERE成績ISNULLD、SELECT學號,課程號FROMSCWHERE成績標準答案:C知識點解析:查詢空值時要使用ISNULL,而=NULL是無效的,因為空值不是一個確定的值,所以不能用“=”這樣的運算符進行比較。7、查詢選修C2課程號的學生姓名,下列SQL語句中錯誤是A、SELECT姓名FROMSWHEREEXISTS(SELECT*FROMSCWHERE學號=S.學號AND課程號=’C2’)B、SELECT姓名FROMSWHERE學號IN(SELECT學號FROMSCWHERE課程號=’C2’)C、SELECT姓名FROMSJOINSCONS.學號=SC.學號WHERE課程號=’C2’D、SELECT姓名FROMSWHERE學號=(SELECT學號FROMSCWHERE課程號=’C2’)標準答案:D知識點解析:選項A)中,使用EXISTS謂詞來檢查子查詢中是否有結果返回,它的查詢過程是:首先在外查詢中,從S表中取出第一條記錄,再在內查詢中,針對該記錄,在SC表中逐條記錄判斷是否存在符合where條件(即“選修C2課程號的學生”)的記錄,如果存在,則從外查詢的S表中查找出該記錄對應的“姓名”值;然后依次類推,從S表中取出第二條記錄,在內查詢中與SC表中的所有記錄進行比較,直到將S表中的所有記錄都處理完畢。選項B)是嵌套查詢,先在內查詢中從SC表中獲得選修了C2課程號的學生的“學號”,再在外查詢中從S表中查找出這些“學號”對應學生的“姓名”,由于選修了C2課程號的學生可能不止一個,因此在內查詢中獲得的“學號”是一個集合,因此應該使用運算符IN。選項C)是聯(lián)接查詢,將S表和SC表以“學號”字段相等為條件進行聯(lián)接,查找出選修了C2課程號的學生。8、在SQLSELECT語句中與INTOTABLE等價的短語是A、INTODBFB、TOTABLEC、INTOFORMD、INTOFILE標準答案:A知識點解析:SQLSELECT語句中INTOTABLE短語和INTODBF短語都可用來定義將查詢結果存放到永久表中。另外,INTOARRAY將查詢結果存放到數(shù)組,INTOCURSOR將查詢結果存放到臨時表,TOFILE將查詢結果存放到文本文件中。9、若SQL語句中的ORDERBY短語中指定了多個字段,則A、依次按自右至左的字段順序排序B、只按第一個字段排序C、依次按自左至右的字段順序排序D、無法排序標準答案:C知識點解析:通過在SELECT語句中加入ORDERBY可將查詢結果排序,可以按升序和降序排序,命令格式如下:ORDERBY<排序字段1>[ASCIDESC][,排序字段2[ASCIDESC]…]。ASC表示按升序排序,DESC表示按降序排序,可以按一列或多列排序,升序是默認的排列方式。如果短語中指定多個字段,則依次按自左向右的順序進行排序。10、與“SELECT*FROM教師表INTODBFA”等價的語句是A、SELECT*FROM教師表TODBFAB、SELECT*FROM教師表TOTABLEAC、SELECT*FROM教師表INTOTABLEAD、SELECT*FROM教師表INTOA標準答案:C知識點解析:本題考查查詢結果的去向。若在SELECT語句中使用INTODBF|TABLE<表名>,則可以將查詢的結果存放到表中,該表是自由表。11、與“SELECT*FROM教師表INTODBFA”等價的語句是A、SELECT*FROM教師表TODBFAB、SELECT*FROM教師表TOTABLEAC、SELECT*FROM教師表INTOTABLEAD、SELECT*FROM教師表INTOA標準答案:C知識點解析:使用短語INTODBF|TABLETableName可以將查詢結果存放到永久表中(dbf文件)。生成的表文件是一個自由表。所以與“SELECT*FROM教師表INTODBFA”等價的是“SEIECT*FROM教師表INTOTABLEA”。12、“教師表”中有“職工號”、“姓名”、“工齡”和“系號”等字段,“學院表”中有“系名”和“系號”等字段,計算“計算機”系教師總數(shù)的命令是A、SELECTCOUNT(*)FROM教師表INNERJOIN學院表;ON教師表.系號=學院表.系號WHERE系名="計算機"B、SELECTCOUNT(*)FROM教師表INNERJOIN學院表;ON教師表.系號=學院表.系號ORDERBY教師表.系號;HAVING學院表.系名="計算機"C、SELECTSUM(*)FROM教師表INNERJOIN學院表;ON教師表.系號=學院表.系號GROUPBY教師表.系號;HAVING學院表.系名="計算機"D、SELECTSUM(*)FROM教師表INNERJOIN學院表;ON教師表.系號=學院表.系號ORDERBY教師表.系號;HAVING學院表.系名="計算機"標準答案:A知識點解析:由于題意中要求計算系名為“計算機”的教師總數(shù),所以SOL語句的WHERE子句應該為WHERE系名=“計算機”,所以正確的是選項A)。13、“教師表”中有“職工號”、“姓名”、“工齡”和“系號”等字段,“學院表”中有“系名”和“系號”等字段,求教師總數(shù)最多的系的教師人數(shù),正確的命令序列是A、SELECT教師表.系號,COUNT(*)AS人數(shù)FROM教師表,學院表;GROUPBY教師表.系號INTODBFTEMPSELECTMAX(人數(shù))FROMTEMPB、SELECT教師表.系號,COUNT(*)FROM教師表,學院表;WHERE教師表.系號=學院表.系號GROUPBY教師表.系號INTODBFTEMPSELECTMAX(人數(shù))FROMTEMPC、SELECT教師表.系號,COUNT(*)AS人數(shù)FROM教師表,學院表;WHERE教師表.系號=學院表.系號GROUPBY教師表.系號TOFILETEMPSELECTMAX(人數(shù))FROMTEMPD、SELECT教師表.系號,COUNT(*)AS人數(shù)FROM教師表,學院表;WHERE教師表.系號=學院表.系號GROUPBY教師表.系號INTODBFTEMPSELECTMAX(人數(shù))FROMTEMP標準答案:D知識點解析:由于“教師表”與“學院表”是通過“系號”進行關系的連接,而選項A)沒有WHERE子句,所以選項A)是錯誤的。選項B)中,由于接下來的SQL語句“SELECTMAX(人數(shù))FROMTEMP”的字段名稱為“人數(shù)”,而第一條SOL語句沒有對查詢的結果進行重命名,會產生錯誤。選項C)中的SQL語句使用短語INTOFILEFileName[ADDITIVE]可以將查詢結果存放到文本文件中,F(xiàn)ileName是文件名,默認擴展名是txt,接下來的SOL語句“SEI.ECTMAX(人數(shù))FROMTEMP”會產生錯誤。14、查詢尚未最后確定訂購單的有關信息的正確命令是A、SELECT名稱,聯(lián)系人,電話號碼,訂單號FROM客戶,訂購單WHERE客戶.客戶號=訂購單.客戶號AND訂購日期ISNULLB、SELECT名稱,聯(lián)系人,電話號碼,訂單號FROM客戶,訂購單WHERE客戶.客戶號=訂購單.客戶號AND訂購日期=NULLC、SELECT名稱,聯(lián)系人,電話號碼,訂單號FROM客戶,訂購單FOR客戶.客戶號=訂購單.客戶號AND訂購日期ISNULLD、SELECT名稱,聯(lián)系人,電話號碼,訂單號FROM客戶,訂購單FOR客戶.客戶號=訂購單.客戶號AND訂購日期=NULL標準答案:A知識點解析:在SQLSELECT查詢語句中,用where說明查詢條件。在表中尚未確定的值用NULL值表示,而SQL中查詢空值時要用ISNULL,不能用“=”。15、查詢訂購單的數(shù)量和所有訂購單平均金額的正確命令是A、SELECTCOUNT(DISTINCT訂單號),AVG(數(shù)量*單價)FROM產品JOIN訂購單名細ON產品.產品號=訂購單名細.產品號B、SELECTCOUNT(訂單號),AVG(數(shù)量木單價)FROM產品JOIN訂購單名細ON產品.產品號=訂購單名細.產品號C、SELECTCOUNT(DISTINCT訂單號),AVG(數(shù)量(單價)FROM產品,訂購單名細ON產品.產品號=訂購單名細.產品號D、SELECTCOUNT(訂單號),AVG(數(shù)量*單價)FROM產品,訂購單名細ON產品.產品號=訂購單名細.產品號標準答案:A知識點解析:VFP的SELECT語句中用于內聯(lián)接查詢的語法是:SELECT…FROM表1[INNER]JOIN表2ON聯(lián)接條件where……Count(、)和avg()都是SQL中用于計算的檢索函數(shù),其中Count用來計算記錄個數(shù),通常應該使用Distinct,除非對關系中的元組個數(shù)進行計算。這個題目中要求訂購單的數(shù)量,顯然應該對訂單號計數(shù),但訂購單明細表中的訂單號是有重復的(因為一份訂單上可能有多種產品),因此應該在count()中使用Distinct。AVg函數(shù)是用來計算平均值的。產品金額=數(shù)量木單價。16、查詢第一作者為“張三”的所有書名及出版社,正確的SQL語句是A、SELECT書名,出版社FROM圖書WHERE第一作者=張三B、SELECT書名,出版社FROM圖書WHERE第一作者="張三"C、SELECT書名,出版社FROM圖書WHERE"第一作者"=張三D、SELECT書名,出版社FROM圖書WHERE"第一作者"="張三"標準答案:B知識點解析:本題考查SELECT語句的正確應用。要查詢第一作者為“張三”的所有書名及出版社,那么書名及出版社是要查詢的列,查詢源是圖書表,條件是第一作者為“張三”。17、查詢尚未歸還的圖書編號和借書日期,正確的SQL語句是A、SELECT圖書編號,借書日期FROM借閱WHERE還書目期=""B、SELECT圖書編號,借書日期FROM借閱WHERE還書日期=NULLC、SELECT圖書編號,借書日期FROM借閱WHERE還書日期ISNULLD、SELECT圖書編號,借書日期FROM借閱WHERE還書日期標準答案:C知識點解析:在SQL語句中,空值查詢用ISNULL。18、查詢“讀者”表的所有記錄并存儲于臨時表文件one中的SQL語句是A、SELECT*FROM讀者INTOCURSORoneB、SELECT*FROM讀者TOCURSORoneC、SELECT*FROM讀者INTOCURSORDBFoneD、SELECT*FROM讀者TOCURSORDBFone標準答案:C知識點解析:在SQL語句中,空值查詢用ISNULL。19、查詢單位名稱中含“北京”字樣的所有讀者的借書證號和姓名,正確的SQL語句是A、SELECT借書證號,姓名FROM讀者WHERE單位="北京%"B、SELECT借書證號,姓名FROM讀者WHERE單位="北京*"C、SELECT借書證號,姓名FROM讀者WHERE單位LIKE"北京*"D、SELECT借書證號,姓名FROM讀者WHERE單位LIKE"%北京%"標準答案:A知識點解析:在SQL語句中,將查詢結果保存在臨時表中應使用短語INTOCURSOR。20、SQL語句中,能夠判斷“訂購日期”字段是否為空值的表達式是A、訂購日期=NULLB、訂購日期=EMPTYC、訂購日期ISNULLD、訂購日期ISEMPTY標準答案:D知識點解析:在SQL的WHRER子句的條件表達式中,字符串匹配的運算符是LIKE,通配符“%”表示0個或多個字符,另外還有一個通配符“_”表示一個字符。21、查詢在“北京”和“上?!眳^(qū)域的商店信息的正確命令是A、SELECT*FROM商店WHERE區(qū)域名=’北京’AND區(qū)域名=’上?!疊、SELECT*FROM商店WHERE區(qū)域名=’北京’OR區(qū)域名=’上?!疌、SELECT*FROM商店WHERE區(qū)域名=’北京’AND’上?!疍、SELECT*FROM商店WHERE區(qū)域名=’北京’OR’上海’標準答案:C知識點解析:在SQL,語句中支持空值查詢,用ISNULL表示。22、查詢商品單價在10到50之間、并且日銷售數(shù)量高于20的商品名、單價、銷售日期和銷售數(shù)量,查詢結果按單價降序。正確命令是A、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品JOIN銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20ORDERBY單價DESCB、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品JOIN銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20ORDERBY單價C、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品,銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20ON商品.商品號=銷售.商品號ORDERBY單價D、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品,銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20AND商品.商品號=銷售.商品號ORDERBY單價DESC標準答案:D知識點解析:可以用JOIN…ON…語法進行超連結查詢,也可以用WHERE直接表示數(shù)據(jù)表連接條件。ORDERBY短語表示排序,DESC短語表示降序。23、查詢銷售金額合計超過20000的商店,查詢結果包括商店名和銷售金額合計。正確命令是A、SELECT商店名,SUM(銷售數(shù)量*單價)AS銷售金額合計FROM商店,商品,銷售WHERE銷售金額合計20000B、SELECT商店名,SUM(銷售數(shù)量*單價)AS銷售金額合計>20000FROM商店,商品,銷售WHERE商品.商品號=銷售.商品號AND商店.商店號=銷售.商店號C、SELECT商店名,SUM(銷售數(shù)量*單價)AS銷售金額合計FROM商店,商品,銷售WHERE商品.商品號=銷售.商品號AND商店.商店號=銷售.商店號ANDSUM(銷售數(shù)量木單價)>20000GROUPBY商店名D、SELECT商店名,SUM(銷售數(shù)量棗單價)AS銷售金額合計FROM商店,商品,銷售WHERE商品.商品號=銷售.商品號AND商店.商店號=銷售.商店號GROUPBY商店名HAVINGSUM(銷售數(shù)量*單價)>20000標準答案:D知識點解析:用WHERE表示數(shù)據(jù)表連接條件;用GROUPBY表示分組,HAVING總是跟在GROUPBY之后,用來限定分組,即HAVING是用來表示選擇分組的條件。24、設有學生表student(學號,姓名,性別,出生日期,院系)、課程表course(課程號,課程名,學時)和選課表score(學號,課程號,成績),查詢同時選修課程號為C1和C5課程的學生的學號,正確的命令是A、SELECT學號FROMscorescWHERE課程號=’C1’AND學號IN;(SELECT學號FROMscorescWHERE課程號=’C5’)B、SELECT學號FROMscorescWHERE課程號=’C1’AND學號=;(SELECT學號FROMscorescWHERE課程號=’C5’)C、SELECT學號FROMscorescWHERE課程號=’C1’AND課程號=’C5’D、SELECT學號FROMscorescWHERE課程號=’C1’OR’C5’標準答案:A知識點解析:本題考查SELECT語句中in短語的應用。in(),括號中是子查詢,返回結果集,換句話說子查詢先產生結果集,然后主查詢再去結果集里去找符合要求的字段列表,符合要求的輸出,反之則不輸出。在選項A)中,IN后面的子查詢查找到所有課程號=’C5’的學生的學號,再在這個集合中,查詢課程號=’C1’的學生的學號。25、SQL查詢命令的結構是SELECT...FROM...WHERE...GROUPBY...HAVING...ORDERBY...,其中指定查詢條件的短語是A、SELECTB、FROMC、WHERED、ORDERBY標準答案:C知識點解析:在SQL查詢語中,WHERE是說明查詢條件,即選擇元組的條件。26、SQL查詢命令的結構是SELECT...FROM...WHERE...GROUPBY...HAVING...ORDERBY...,其中HAVING必須配合使用的短語是A、FROMB、GROUPBYC、WHERED、ORDERBY標準答案:B知識點解析:在SQL查詢中,HAVING總是跟在GROUPBY之后,用來限定分組條件。27、如果在SQL查詢的SELECT短語中使用TOP,則應該配合使用A、HAVING短語B、GROUBY短語C、WHERE短語D、ORDERBY短語標準答案:D知識點解析:TOP表示排序后滿足條件的前幾條記錄。所以需要和ORDERBY同時使用。28、設有學生表student(學號,姓名,性別,出生日期,院系)、課程表course(課程號,課程名,學時)和選課表score(學號,課程號,成績),查詢“計算機系”學生的學號、姓名、學生所選課程的課程名和成績,正確的命令是A、SELECTs.學號,姓名,課程名,成績FROMstudentS,scoresc,coursec;WHEREs.學號=sc.學號,sc.課程號=c.課程號,院系=’計算機系’B、SELECT學號,姓名,課程名,成績FROMstudents,scoresc,coursec;WHEREs.學號=sc.學號ANDsc.課程號=c.課程號AND院系=’計算機系’C、SELECTs.學號,姓名,課程名,成績FROM(studentsJOINscoresc;ONs.學號=sc.學號)JOINcoursecONSC.課程號=c.課程號;WHERE院系=’計算機系’D、SELECT學號,姓名,課程名,成績FROM(studentsJOINscoresc;ONs.學號=sc.學號)JOINcoursecONsc.課程號=c.課程號;WHERE院系=’計算機系’標準答案:C知識點解析:本題考查三個表之間的聯(lián)接查詢。在用SELECT語句進行聯(lián)接查詢,要用JOIN關鍵字,ON關鍵字是兩表進行聯(lián)接的字段,對于本題來說,先以s.學號=sc.學號進行學生表和選課表之間聯(lián)接,再以sc.課程號=c.課程號進行選課表和課程表之間的聯(lián)接。29、設有學生表student(學號,姓名,性別,出生日期,院系)、課程表course(課程號,課程名,學時)和選課表score(學號,課程號,成績),查詢所修課程成績都大于等于85分的學生的學號和姓名,正確的命令是A、SELECT學號,姓名FROMstudentsWHERENOTEXISTS(SELECT*FROMscoresc;WHEREsc.學號=s.學號AND成績<85)B、SELECT學號,姓名FROMstudentsWHERENOTEXISTS(SELECT*FROMscoresc;WHEREsc.學號=s.學號AND成績>=85)C、SELECT學號,姓名FROMstudents,scorescWHEREs.學號=sc.學號AND成績>=85D、SELECT學號,姓名FROMstudents,scorescWHEREs.學號=sc.學號ANDALL成績>=85標準答案:A知識點解析:本題考查SELECT語句中關鍵字EXISTS的應用。EXISTS是用來判斷子查詢中是否有或沒有結果返回,當EXISTS(查詢)有返回時,則返回真,否則返回假。NOTEXISTS則相反。EXISTS做為wHERE條件時,是先對wHERE前的主查詢進行查詢,然后用主查詢的結果一個一個的代入EXISTS的查詢進行判斷,如果為真則輸出當前這一條主查詢的結果,否則不輸出。選項A)的子查詢是查詢出選課表中的學號等于學生學號并且學生成績小于85分的所有學生記錄。而在主查詢中找出所有學生的學生和姓名不在子查詢集的記錄就是題目的要求。30、設有學生表student(學號,姓名,性別,出生日期,院系)、課程表course(課程號,課程名,學時)和選課表score(學號,課程號,成績),查詢選修課程在5門以上(含5門)的學生的學號、姓名和平均成績,并按平均成績降序排序,正確的命令是A、SELECTs.學號,姓名,平均成績FROMstudents,scorescWHEREs.學號=sc.學號;GROUPBYs.學號HAVINGCOUNT(*)>=5ORDERBY平均成績DESCB、SELECT學號,姓名,AVG(成績)FROMstudents,scoresc;WHEREs.學號=sc.學號ANDCOUNT(*)>=5GROUPBY學號ORDERBY3DESCC、SELECTs.學號,姓名,AVG(成績)平均成績FROMstudents,scoresc;WHEREs.學號=sc.學號ANDCOUNT(*)>=5;GROUPBYs.學號ORDERBY平均成績DESCD、SELECTs.學號,姓名,AVG(成績)平均成績FROMstudents,scoresc;WHEREs.學號=sc.學號;GROUPBYs.學號HAVINGCOUNT(*)>=5ORDERBY3DESC標準答案:D知識點解析:本題考查SELECT語句中分組和排序短語。在SELECT語句中分組語使用GROUPBYHAVING關鍵字,排序使用ORDERBY短語,降序使用DESC,本題中用學號分組,用HAVINGCOUNT(*)>=5對分組進行篩選,用ORDERBY3DESC按平均成績降序排序。國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷第2套一、選擇題(本題共29題,每題1.0分,共29分。)1、使用如下關系:客戶(客戶號,名稱,聯(lián)系人,郵政編碼,電話號碼)產品(產品號,名稱,規(guī)格說明,單價)訂購單(訂單號,客戶號,訂購日期)訂購單明細(訂單號,序號,產品號,數(shù)量)查詢客戶名稱中有“網(wǎng)絡”二字的客戶信息的正確命令是A、SELECT*FROM客戶FOR名稱LIKE"%網(wǎng)絡%"B、SELECT*.FROM客戶.FOR名稱="%網(wǎng)絡%"C、SELECT*FROM客戶WHERE名稱="%網(wǎng)絡%"D、SELECT*FROM客戶WHERE名稱LIKE"%網(wǎng)絡%"標準答案:D知識點解析:VisualFoxPro的SQLSELECT命令的語法格式中WHERE說明查詢條件,即選擇元組的條件,并且查詢語法中沒有關鍵詞FOR,所以選項D正確。2、基于學生表S和學生選課表SC兩個數(shù)據(jù)表,它們的結構如下:S(學號,性別,年齡)其中學號、姓名和性別為C型字段,年齡為N型字段。SC(學號,課程號,成績),其中學號和課程號為C型字段,成績?yōu)镹型字段(初始為空值)。查詢有選課記錄,但沒有考試成績的學生的學號和課程號,正確的SQL語句是A、SELECT學號,課程號FROMscWHERE成績=""B、SELECT學號,課程號FROMscWHERE成績=NULLC、SELECT學號,課程號FROMscWHERE成績ISNULLD、SELECT學號,課程號FROMscWHERE成績標準答案:C知識點解析:“沒有考試成績”表示成績字段值為空,而表示空值時應該用“isnull”而不能用“=”,故選項C)正確。3、基于圖書表、讀者和借閱表三個數(shù)據(jù)庫表,它們的結構如下:圖書(圖書編號,書名,第一作者,出版社):圖書編號、書名、第一作者和出版社為C型字段,圖書編號為主關鍵字;讀者(借書證號,單位,姓名,職稱):借書證號、單位、姓名、職稱為C型字段,借書證號為主關鍵字;借閱(借書證號,圖書編號,借書日期,還書日期):借書證號和圖書編號為C型字段,借書日期和還書日期為D型字段,還書日期默認值為NULL,借書證號和圖書編號共同構成主關鍵字。查詢單位名稱中含“北京”字樣的所有讀者的借書證號的姓名,正確的SQL語句是A、SELECT借書證號,姓名FROM讀者WHERE單位="北京%"B、SELECT借書證號,姓名FROM讀者WHERE單位="北京*"C、SELECT借書證號,姓名FROM讀者WHERE單位LIKE"北京*"D、SELECT借書證號,姓名FROM讀者WHERE單位LIKE"%京%"標準答案:D知識點解析:SQL語句中模糊匹配應使用語句LIKE關鍵字,所以選項D)為正確答案。4、使用如下三個數(shù)據(jù)庫表:圖書(索書號,書名,出版社,定價,ISBN)借書證(借書證號,姓名,性別,專業(yè),所在單位)借書記錄(借閱號,索書號,借書證號,借書日期,還書日期)其中:定價是貨幣型,借書日期和還書日期是日期型,其他是字符型。查詢借書證上專業(yè)為“計算機”的所有信息,正確的SQL語句是A、SELECT*FEOM借書證WHERE專業(yè)="計算機"B、SELECT借書證號FEOM借書證WHERE專業(yè)="計算機"C、SELECTALLFEOM借書證WHERE專業(yè)="計算機"D、SELECTALLFEOM借書記錄WHERE專業(yè)="計算機"標準答案:A知識點解析:此題要求查詢所有的信息,即所有的字段。住SELECT查詢語句中,要求查詢所有字段,不只是查詢“借書證號”字段,用“*”來表示要查詢的所有字段,而不能使用ALL,故選項C)、D)錯誤,選項A)正確。5、在SOLSELECT查詢中,為了使查詢結果排序必須使用短語A、ASCB、DESCC、GROUPBYD、ORDERBY標準答案:D知識點解析:在SOLSELECT查詢中,使用短語ORDERBY使查詢結果排序,所以應選D。ASC表示升序排序,DESC表示降序排序,GROUPBY是指定分組。6、設有學生表S(學號,姓名,性別,年齡)、課程表C(課程號,課程名,學分)和學生選課表SC(學號,課程號,成績),檢索學號、姓名和學生所選課程的課程名和成績,正確的SQL語句是A、SELECT學號,姓名,課程名,成績FROMS,SC,C;WHERES.學號=SC.學號ANDSC.學號=C.學號B、SELECT學號,姓名,課程名,成績;FROM(SJOINSCONS.學號=SC.學號)JOINCONSC.課程號=C.課程號C、SELECTS.學號,姓名,課程名,成績;FROMSJOINSCJOINCONS.學號=SC.學號ONSC.課程號=C.課程號D、SELECTS.學號,姓名,課程名,成績;FROMSJOINSCJOINCONSC.課程號=C.課程號ONS.學號=SC.學號標準答案:D知識點解析:連接是關系的基本操作之一,連接查詢是一種基于多個關系的查詢。JOIN用來連接兩個表,而ON短語指定兩表連接的關鍵字。7、SQL的SELECT語句中,“HAVING<條件表達式>”用來篩選滿足條件的A、列B、行C、關系D、分組標準答案:D知識點解析:元組是二維表中的一行,表示一個實體的所有屬性的集合。在VisaulFoxPro中,元組被稱為記錄。SQLSELECT中的HAVING短語必須跟隨GROUPBY使用,它用來限定分組必須滿足的條件,進一步篩選滿足條件的元組。8、在SELECT語句中,下列關于HAVING短語的描述中正確的是A、HAVING短語必須與GROUPBY短語同時使用B、使用HAVING短語的同時不能使用WHERE短語C、HAVING短語可以在任意的一個位置出現(xiàn)D、HAVING短語與WHERE短語功能相同標準答案:A知識點解析:SQL查詢語句中,使用GROUPBY短語對查詢結果進行分組。而HAVING短語必須跟隨GROUPBY使用,它用來限定分組必須滿足的條件,并且與WHERE不矛盾,在查詢中先用WHERRE子句限定元組。有WHERE子句時,GROUPBY子句一般放在其后。9、與“SELECTDISTINCT歌手號FROM歌手WHERE最后得分>=ALL;(SELECT最后得分FROM歌手WHERESUBSTR(歌手號,1,1)="2")”等價的SQL語句是A、SELECTDISTINCT歌手號FROM歌手WHERE最后得分>=;(SELECTMAX(最后得分)FROM歌手WHERESUBSTR(歌手號,1,1)="2")B、SELECTDISTINCT歌手號FROM歌手WHERE最后得分>=;(SELECTMIN(最后得分)FROM歌手WHERESUBSTR(歌手號,1,1)="2")C、SELECTDISTINCT歌手號FROM歌手WHERE最后得分>=ANY;(SELECT最后得分FROM歌手WHERESUBSTR(歌手號,1,1)="2")D、SELECTDISTINCT歌手號FROM歌手WHERE最后得分>=SOME;(SELECT最后得分FROM歌手WHERESUBSTR(歌手號,1,1)="2")標準答案:A知識點解析:題干中的結果是結果是檢索出最后得分大于歌手號第一個數(shù)字為“2”的所有歌手的歌手號,因為要大于所有第一個數(shù)字為“2”的歌手的最后得分,只要滿足大于第一個數(shù)字為“2”的歌手最后得分即可,MAX函數(shù)可用來求最高分。10、SQL語言的查詢語句是A、INSERTB、UPDATEC、DELETED、SELECT標準答案:D知識點解析:SQL的查詢語句是SELECT,INSERT是插入語句,UPDATE是更新語句,DELETE是刪除語句。11、查詢成績在70分至85分之間學生的學號、課程號和成績,正確的SQL語句是A、SELECT學號,課程號,成績FROMscWHERE成績BETWEEN70AND85B、SELECT學號,課程號,成績FROMscWHERE成績>=70OR成績<=85C、SELECT學號,課程號,成績FROMscWHERE成績>=70OR<=85D、SELECT學號,課程號,成績FROMscWHERE成績>=70AND<=85標準答案:A知識點解析:如果查詢條件的值是在什么范圍之內,可以使用BETWEEN…AND…運算12、與“SELECT*FROM教師表INTODBFA”等價的語句是A、SELECT*FROM教師表TODBFAB、SELECT*FROM教師表TOTABLEAC、SELECT*FROM教師表INTOTABLEAD、SELECT*FROM教師表INTOA標準答案:C知識點解析:本題考查查詢結果的去向。若在SELECT語句中使用INTODBF|TABLE<表名>短語,則可以將查詢的結果存放到表中,該表是自由表。所以應選C。13、查詢訂購單的數(shù)量和所有訂購單平均金額的正確命令是A、SELECTCOUNT(DISTINCT訂單號、),AVG(數(shù)量*單價)FROM產品JOIN訂購單名細ON產品.產品號=訂購單名細.產品號B、SELECTCOUNT(訂單號),AVG(數(shù)量*單價、)FROM產品JOIN訂購單名細ON產品.產品號=訂購單名細.產品號C、SELECTCOUNT(DISTINCT訂單號),AVG(數(shù)量(單價、)FROM產品,訂購單名細ON產品.產品號=訂購單名細.產品號D、SELECTCOUNT(訂單號),AVG(數(shù)量*單價)FROM產品,訂購單名細ON產品.產品號=訂購單名細.產品號標準答案:A知識點解析:VFP的SQLSELECT中內聯(lián)接查詢的語法是:SELECT…FROM表1[INNER]JOIN表2ON聯(lián)接條件where……Count()和avg()都是SQL中用于計算的檢索函數(shù),其中Count用來計算記錄個數(shù),通常應該使用Distinct,除非對關系中的元組個數(shù)進行計算。這個題目中要求訂購單的數(shù)量,顯然應該對訂單號計數(shù),但訂購單明細表中的訂單號是有重復的(因為一份訂單上可能有多種產品),因此應該在count()中使用Distinct。Avg函數(shù)是用來計算平均值的。產品金額=數(shù)量*單價。14、SQL語句中,能夠判斷“訂購日期”字段是否為空值的表達式是A、訂購日期=NULLB、訂購日期=EMPTYC、訂購日期ISNULLD、訂購日期ISEMPTY標準答案:D知識點解析:在SQL的WHRER子句的條件表達式中,字符串匹配的運算符是LIKE,通配符“%”表示0個或多個字符,另外還有一個通配符“_”表示一個字符。15、SQL查詢命令的結構是SELECT…FROM…WHERE…GROUPBY…HAVING…ORDERBY…,其中指定查詢條件的短語是A、SELECTB、FROMC、WHERED、ORDERBY標準答案:C知識點解析:在SQL查詢語句中,WHERE是說明查詢條件,即選擇元組的條件。16、設有學生表student(學號,姓名,性別,出生日期,院系)、課程表course(課程號,課程名,學時)和選課表score(學號,課程號,成績),查詢選修課程在5門以上(含5門)的學生的學號、姓名和平均成績,并按平均成績降序排序,正確的命令是A、SELECTs.學號,姓名,平均成績FROMstudents,scorescWHEREs.學號=sc.學號;GROUPBYs.學號HAVINGCOUNT(*)>=5ORDERBY平均成績DESCB、SELECT學號,姓名,AVG(成績)FROMstudents,scoresc;WHEREs.學號=sc.學號ANDCOUNT(*)>=5GROUPBY學號ORDERBY3DESCC、SELECTs.學號,姓名,AVG(成績)平均成績FROMstudents,scoresc;WHEREs.學號=sc.學號ANDCOUNT(*)>=5;GROUPBYs.學號ORDERBY平均成績DESCD、SELECTs.學號,姓名,AVG(成績)平均成績FROMstudents,scoresc;WHEREs.學號:sc.學號;GROUPBYs.學號HAVINGCOUNT(*)>=5ORDERBY3DESC標準答案:D知識點解析:本題考查SELECT語句中分組和排序短語。在SELECT語句中分組語使用GROUPBYHAVING關鍵字,排序使用ORDERBY短語,降序使用DESC,本題中用學號分組,用HAVINGCOUNT(*)>=5對分組進行篩選,用ORDERBY3DESC按平均成績降序排序。17、有一學生表文件,且通過表設計器已經為該表建立了若干普通索引。其中一個索引的索引表達式為姓名字段,索引名為XM?,F(xiàn)假設學生表已經打開,且處于當前工作區(qū)中,那么可以將上述索引設置為當前索引的命令是A、SETINDEXTO姓名B、SETINDEXTOXMC、SETORDERTO姓名D、SETORDERTO姓名標準答案:D知識點解析:將索引設置為當前索引的命令格式為:SETORDERTO[nIIlexNumbe|[tag]TagName][ASCENDING]DESCENDIN1,其中可以按索引序號umber)或索引名(TagName)指定索引項。索引序號是指建立索引的先后順序號,并且按照SETORDERTOInaexfileList命令中的總序號排列。18、下表是用List命令顯示的“運動員”表的內容和結構為“運動員”表增加一個字段“得分”的SQL語句是A、CHANGETABLE運動員ADD得分IB、ALTERDATA運動員ADD得分IC、ALTERTABLE運動員ADD得分ID、CHANGETABLE運動員INSERT得分I標準答案:C知識點解析:在SQL中,利用CreateTable語句進行數(shù)據(jù)定義,利用AlterTable語句修改表結構,利用DropTable語句刪除表。19、建立表之間臨時關聯(lián)的命令是A、SETRELATIONTO……B、CREATERELATIONTO……C、TEMPRELATIONTO……D、CREATETEMPTO……標準答案:A知識點解析:用“setrelationto關鍵字into子表名”命令建立的不同工作區(qū)數(shù)據(jù)表之間的聯(lián)系,這種聯(lián)系叫臨時關系,也叫關聯(lián),或在“數(shù)據(jù)工作期”窗口建立。建立關聯(lián)的表中,總有一個是父表,其余為子表。臨時關系的作用是每個打開的表都有一個記錄指針,用以指向當前記錄。在不同工作區(qū)中打開的各個表的記錄指針通常是彼此獨立的,建立了臨時關系后,不同工作區(qū)的記錄指針建立起一種臨時的聯(lián)動關系,當父表的指針移動時,子表的記錄指針也隨之移動,表被關閉后,臨時關系自動解除。20、使用如下數(shù)據(jù)表:學生.DBF:學號(C,8),姓名(C,6),性別(C,2),出生日期(D)選課.DBF:學號(C,8),課程號(C,3),成績(N,5,1)將學號為“02080110”、課程號為“102”的選課記錄的成績改為92,正確的SQL語句是A、UPDATE選課SET成績WITH92WHERE學號="02080110"AND課程號"102"B、UPDATE選課SET成績=92WHERE學號="02080110"AND課程號="102"C、UPDATEFROM選課SET成績WITH92WHERE學號="02080110"AND課程號="102"D、UPDATEFROM選課SET成績=92WHERE學號="02080110"AND課程號="102"標準答案:B知識點解析:SQL的數(shù)據(jù)更新命令格式是:UPDATE<表名>SET列名1=表達式1[,列名2=表達式2…][WHERE<條件表達式>]。一般使用WHERE子句指定條件,以更新滿足條件的一些記錄的字段值,并且一次可以更新多個字段。如果不使用WHERE子句,則更新全部記錄。21、要使“產品”表中所有產品的單價上浮8%,正確的SQL語句是A、UPDATE產品SET單價=單價+單價*8%FORALLB、UPDATE產品SET單價=單價*1.08FORALLC、UPDATE產品SET單價=單價+單價*8%D、UPDATE產品SET單價=單價*1.08標準答案:D知識點解析:SQL的數(shù)據(jù)更新命令格式是:UPDATE<表名>SET列名1=表達式1[,列名2=表達式2…][WHERE<條件表達式>]一般使用WHERE子句指定條件,以更新滿足條件的一些記錄的字段值,并且一次可以更新多個字段。如果不使用WHERE子句,則更新全部記錄。22、假設客戶表中有客戶號(關鍵字)C1~C10共10條客戶記錄,訂購單表有訂單號(關鍵字)OR1-OR8共8條訂購單記錄,并且訂購單表參照客戶表。如下命令可以正確執(zhí)行的是A、INSERTINTO訂購單VALUES(’OR5’,’C5’,{^2008/10/10})B、INSERTINTO訂購單VALUES(’OR5’,’C11’,{^2008/10/10})C、INSERTINTO訂購單VALUES(’OR9’,’C11’,{^2008/10/10})D、INSERTINTO訂購單VALUES(’OR9’,’C5’,{^2008/10/10})標準答案:D知識點解析:客戶表和訂購單表是相互關聯(lián)的表,其中客戶號是公共字段,客戶表是父表,訂購單表是子表,題目中說明了訂購單表參照客戶表,即實施了參照完整性規(guī)則。當要向訂購單表中插入一條記錄時要注意兩點:①新記錄的訂單號不能與表中已有記錄的訂單號重復,因為訂單號是訂購單表的主關鍵字。而題中說明訂購單表中.已有訂購單號OR1-OR8,就不能再插入訂單號為OR5的記錄,故可排除A、B選項。②由于訂購單表要參照客戶表,所以如果在要插入的記錄中,聯(lián)接字段值在父表中沒有相匹配的值,則禁止插入。而題中說明父表客戶表中并沒有C11這個客戶號,因此在子表訂購單表中不能插入客戶號為C11的記錄,排除選項C。SOL中,插入操作的命令格式:insertintodbf_name[(fname1[,fname2,…])]values(eExpression1[,eExpression2,…]),其中dbf_name指定要插入的表,當插入的不是完整記錄時,可以用fiaame1,fname2,….指定字段,values給出具體的記錄值。23、在SQL語句中,插入一條新記錄采用的命令是A、INSERTB、ADDC、UPDATED、CREATE標準答案:A知識點解析:本題考查插入記錄的命令。在SQL語句中,插入一條新記錄采用的命令是INSERT,其格式為:格式1:INSERTINTOdbf_name[(fnamel[,fiaame2,…])]VALUES(eXpression1[,eXpression2,…])格式2:INSERTINTOdbf_nameFROMARRAYArrayName|FROMMEMVAR24、插入一條記錄到表結構為(職工號,姓名,工資)的表Employee中,正確的SQL命令是A、INSERTTOEmployeeVALUES("19620426","李平",8000)B、INSERTINTOEmployeeVALUES("19620426","李平",8000)C、INSERTINTOEmployeeRECORD("19620426","李平",8000)D、INSERTTOEmployeeRECORD("19620426","李平",8000)標準答案:B知識點解析:本題考查SQL的數(shù)據(jù)插入命令。格式如下格式1:INSERTINTOdbf_narne[(fiaame1[,fname2,…])]VALUES(eXpression1[,eXpression2,…])格式2.INSERTINTOdbf_nameFROMARRAYArrayName|FROMMEMVAR【說明】①INSERTINTOdbf_name說明向由dbf_name指定的表中插入記錄;②當插入的不是完整的記錄時,可以用fiaame1,fname2,…指定字段;③VALUSES(eXpression1[,eXpression2,…])給出具體的記錄值;④FROMARRAYArrayName說明從指定的數(shù)組中插入記錄值;⑤FROMMEMVAR說明根據(jù)同名的內存變量來插入記錄值,如果同名的變量不存在,那么相應的字段值為默認值或空值。25、SQL命令:ALTERTABLESADD年齡ICHECK年齡>15AND年齡<30,該命令的含義是A、給數(shù)據(jù)庫表S增加一個“年齡”字段B、將數(shù)據(jù)庫表S中“年齡”字段取值范圍修改為15至30歲之間C、給數(shù)據(jù)庫表S中“年齡”字段增加一個取值范圍約束D、刪除數(shù)據(jù)庫表s中的“年齡”字段標準答案:A知識點解析:本題考查ALTER命令的語法。給表新增一列的SQL命令格式為:ALTERTABLE表名ADD(COLUMN)列名數(shù)據(jù)類型列級約束題中命令的含義是給表S增加一個“年齡”字段,數(shù)據(jù)類型為整型,年齡的范圍為15至30歲之間。26、SOL語句中修改表結構的命令是A、ALTERTABLEB、MODIFYTABLEC、ALTERSTRUCTURED、MODIFYSTRUCTURE標準答案:A知識點解析:SQL定義功能中,表結構修改的關鍵短語為ALTERTABLE,可直接通過語句修改表結構;選項B)和C)都是錯誤的命令語句;而選項D)中需要先打開表,然后通過MODIFYSTRUCTURE命令打開表設計器,修改當前表的結構。27、SQL語句中刪除表的命令是A、DROPTABLEB、ERASETABLEC、DELETETABLED、DELETEDBF標準答案:A知識點解析:SQL語句中刪除表的命令是:DROPTABLE<table_name>DROPTABLE直接從磁盤上刪除<tablename>所對應的.dbf文件。28、表名為Employee的表結構是(職工號,姓名,工資),建立表Employee的SQL命令是A、CREATETABLEEmployee(職工號C(10),姓名C(20),工資Y、)B、CREATEEmployeeTABLE(職工號C(10),姓名C(20),工資Y)C、CREATEDATABASEEmployee(職工號C(10),姓名C(20),工資Y)D、CREATEEmployeeDATABASE(職工號C(10),姓名C(20),工資Y)標準答案:A知識點解析:本題考查sq1建立表的命令。格式為:CREATETABLEfDBF<表名>(字段名1字段類型1[(字段寬度)],字段名2字段類型2[(字段寬度)],…)[CHECK<條件表達式>][DEFAULT,<表達式>][PRIMARYKEY|UNIQUE]…)用CREATETABLE命令可以完成表設計器所能完成的所有功能。除具有建立表的基本功能外,CREATETABLE命令還可以建立主關鍵字(主索引)PRIMARYKEY、定義域完整性的CHECK約束、定義默認值的DEFAULT等。29、SQL語句中刪除視圖的命令是A、DROPTABLEB、DROPVIEWC、ERASETABLED、ERASEVIEW標準答案:B知識點解析:刪除視圖文件的命令格式是:DROPVIEW<視圖文件名>;建立視圖文件的命令式為:CREATEVIEW<視圖文件名>。國家二級VF機試(關系數(shù)據(jù)庫標準語言SQL)模擬試卷第3套一、選擇題(本題共29題,每題1.0分,共29分。)1、在VisualFoxPro中,如下描述正確的是A、對表的所有操作,都不需要使用USE命令先打開表B、所有SQL命令對表的所有操作都不需使用USE命令先打開表C、部分SQL命令對表的所有操作都不需使用USE命令先打開表D、傳統(tǒng)的FoxPro命令對表的所有操作都不需使用USE命令先打開表標準答案:B知識點解析:所有SQL命令對表的所有操作都不需使用USE命令先打開表。USE是VFP中用來打開表的命令。2、基于學生表S和學生選課表SC兩個數(shù)據(jù)表,它們的結構如下:S(學號,性別,年齡)其中學號、姓名和性別為C型字段,年齡為N型字段。SC(學號,課程號,成績),其中學號和課程號為C型字段,成績?yōu)镹型字段(初始為空值)。查詢學生選修課程成績小于60分的學號,正確的SQL語句是A、SELECTDISTINCT學號FROMSCWHERE"成績"<60B、SELECTDISTINCT學號FROMSCWHERE成績<"60"C、SELECTDISTINCT學號FROMSCWHERE成績>60D、SELECTDISTINCT"學號"FROMSCWHERE"成績">60標準答案:C知識點解析:題目要求查詢學生選修課程成績小于60分的學號,要查詢的字段是學號字段,條件是成績字段的值小于60分,學號和成績字段在SC表中,所以查詢應基于SC表進行,字段即字段變量是變量名,不需要加雙引號,所以排除A、D選項。成績字段為N型字段,即為數(shù)值型為數(shù)據(jù),不需要加任何的定界符,所以選項B)也是不正確的,正確的SQL語句是SELECTDISTINCT學號FROMSCWHERE成績>60,即選項C)。3、基于圖書表、讀者和借閱表三個數(shù)據(jù)庫表,它們的結構如下:圖書(圖書編號,書名,第一作者,出版社):圖書編號、書名、第一作者和出版社為C型字段,圖書編號為主關鍵字;讀者(借書證號,單位,姓名,職稱):借書證號、單位、姓名、職稱為C型字段,借書證號為主關鍵字;借閱(借書證號,圖書編號,借書日期,還書日期):借書證號和圖書編號為C型字段,借書日期和還書日期為D型字段,還書日期默認值為NULL,借書證號和圖書編號共同構成主關鍵字。查詢第一作者為“張三”的所有書名及出版社,正確的SQL語句是A、SELECT書名,出版社FROM圖書WHERE第一作者=張三B、SELECT書名,出版社FROM圖書WHERE第一作者="張三"C、SELECT書名,出版社FROM圖書WHERE"第一作者"=張三D、SELECT書名,出版社FROM圖書WHERE"第一作者"="張三"標準答案:B知識點解析:本題考察的知識點是SQL查詢,在SQL,語句中,字段名不需要加引號,字段的取值則需要加引號。所以本題答案為B)。4、使用如下三個表:商店(商店號,商店名,區(qū)域名,經理名)商品(商品號,商品名,單價)銷售(商店號,商品號,銷售日期,銷售數(shù)量)查詢商品單價在10到50之間、并且日銷售數(shù)量高于20的商品名、單價、銷售日期和銷售數(shù)量,查詢結果按單價降序。正確命令是A、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品JOIN銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20ORDERBY單價DESCB、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品JOIN銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20ORDERBY單價C、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品,銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20ON商品.商品號=銷售.商品號ORDERBY單價D、SELECT商品名,單價,銷售日期,銷售數(shù)量FROM商品,銷售WHERE(單價BETWEEN10AND50)AND銷售數(shù)量>20AND商品.商品號=銷售.商品號ORDERBY單價DESC標準答案:D知識點解析:可以用JOIN…ON…語法進行超連接查詢,也可以用WHERE直接表示數(shù)據(jù)表連接條件。ORDERBY短語表示排序,DESC短語表示降序。5、設有訂單表order(其中包含字段:訂單號,客戶號,職員號,簽訂日期,金額),查詢2007年所簽訂單的信息,并按金額降序排序,正確的SQL命令是A、SELECT*FROMorderWHEREYEAR(簽訂日期)=2007ORDERBY金額DESCB、SELECT*FROMorderWHILEYEAR(簽訂日期)=2007ORDERBY金額ASCC、SELECT*FROMorderWHEREYEAR(簽訂日期)=2007ORDERBY金額ASCD、SELECT*FROMorderWHILEYEAR(簽訂日期)=2007ORDERBY金額DESC標準答案:A知識點解析:根據(jù)SQL查詢語句的基本結構,可以很容易發(fā)現(xiàn)選項B和選項D中,用來指定查詢條件的WHERE關鍵字錯誤,首先排除這兩個選項,然后,根據(jù)題目要求,需要按金額降序排序查詢結果,在排序語句中,ASC短語表示升序排序,是默認的排序方式,可省略;而DESC短語表示降序排序,不可以缺少,選項A)和C)中,選項A)采用的是降序排序,與題目要求相符,正確答案為A)。6、設有學生表S(學號,姓名,性別,年齡),查詢所有年齡小于等于18歲的女同學,并按年齡進行降序排序,生成新的表WS,正確的SQL語句是A、SELECT*FROMS:WHERE性別=’女’AND年齡<=18ORDERBY4DESCINTOTABLEWSB、SELECT*FROMS;WHERE性別=’女’AND年齡<=18ORDERBY年齡INTOTABLEWSC、SELECT*FROMS;WHERE性別=’女’AND年齡<=18ORDERBY’年齡’DESCINTOTABLEWSD、SELECT*FROMS;WHERE性別=’女’OR年齡<=18ORDERBY’年齡’ASCINTOTABLEWS標準答案:A知識點解析:題干中要求按年齡降序排列,在SQLSELECT中用來排序的關鍵短語是ORDERBY,可以指定排序方式為升序(ASC)或降序(DESC)。另外,字段名是變量,所以不能加引號,否則是表示一個字符型常量。7、使用如下數(shù)據(jù)表:學生.DBF:學號(C,8),姓名(C,6),性別(C,2),出生日期(D)選課.DBF:學號(C,8),課程號(C,3),成績(N,5,1)假定學號的第3、4位為專業(yè)代碼,要計算各專業(yè)學生選修課程號為“101”課程的平均成績,正確的SQL語句是A、SELECT專業(yè)ASSUBS(學號,3,2),平均分ASAVG(成績)FROM選課;WHERE課程號="101"GROUPBY專業(yè)B、SELECTSUBS(學號,3,2)AS專業(yè),AVG(成績)AS平均分FROM選課;WHERE課程號="101"GROUPBY1C、SELECTSUBS(學號,3,2)AS專業(yè),AVG(成績)AS平均分FROM選課;WHERE課程號="101"ORDERBY專業(yè)D、SELECT專業(yè)ASSUBS(學號,3,2),平均分ASAVG(成績)FROM選課;WHERE課程號="101"ORDERBY1標準答案:B知識點解析:題干要求對各專業(yè)計算平均分,所以先要把不同專業(yè)的學生進行分組,然后再計算平均分。其中,SQLSELECT中的GROUPBY短句用于對查詢結果進行分組,利用AVG()函數(shù)求得指定字段的平均值,其中“GROUPBY1”表示按輸出結果的第一個字段進行分組。8、查詢在“北京”和“上海”出生的學生信息的SQL語句是A、SELECT*FROM學生WHERE出生地=’北京’AND’上海’B、SELECT*FROM學生WHERE出生地:’北京’OR’上?!疌、SELECT*FROM學生WHERE出生地=’北京’AND出生地=’上?!疍、SELECT*FROM學生WHERE出生地=’北京’OR出生地=’上?!瘶藴蚀鸢福篋知識點解析:一個學生的出生地,要么在“北京”,要么在“上?!?,所以兩者的關系是“或”,用關鍵字or。9、與“SELECT*FROM歌手WHERENOT(最后得分>9.00OR最后得分<8.00)”等價的語句是A、SELECT*FROM歌手WHERE最后得分BETWEEN9.00AND8.00B、SELECT*FROM歌手WHERE最后得分>=8.00AND最后得分<=9.00C、SELECT*FROM歌手WHERE最后得分>9.00OR最后得分<8.00D、SELECT*FROM歌手WHERE最后得分<=8.00AND最后得分>=9.00標準答案:B知識點解析:SELECT查詢命令的使用非常靈活,用它可以構造各種各樣的查詢。本題中給出的查詢語句的功能是檢索出最后得分不大于9.00或者不小于8.00,即小于或等于9.00和大于或等于8.00的歌手記錄。10、設有S(學號,姓名,性別)和SC(學號,課程號,成績)兩個表,用下列SQL語句檢索選修的每門課程的成績都高于或等于85分的學生的學號、姓名和性別,正確的是A、SELECT學號,姓名,性別FROMsWHEREEXISTS;(SELECT*FROMscWHEREsc.學號=s.學號AND成績<=85)B、SELECT學號,姓名,性別FROMsWHERENOTEXISTS;(SELECT*FROMscWHEREsc.學號=s.學號AND成績<=85)C、SELECT學號,姓名,性別FROMsWHEREEXISTS;(SELECT*FROMscWHEREsc.學號=s.學號AND成績>85)D、SELECT學號,姓名,性別FROMsWHERENOTEXISTS;(SELECT*FROMscWHEREsc.學號=s.學號AND成績<85)標準答案:D知識點解析:題目中給出的四個選項為利用SQL謂詞查詢實現(xiàn)題干要求,正確的語句應該是:SELECT學號,姓名,性別FROMSWHERENOTEXISTS:(SELECT*FROMSCWHERESC.學號=S.學號AND成績<85)或者:SELECT學號,姓名,性別FRoMSWHEREEXISTS:(SELECT*FROMSCWHERESC.學號=S.學號AND成績>=85)。11、查詢學生選修課程成績小于60分的學號,正確的SQL語句是A、SELECTDISTINCT學號FROMSCWHERE"成績"<60B、SELECTDISTINCT學號FROMSCWHERE成績<"60"C、SELECTDISTINCT學號FROMSCWHERE成績<60D、SELECTDISTINCT"學號"FROMSCWHERE"成績"<60標準答案:C知識點解析:查詢條件“課程成績小于60分”對應的條件表達式應該書寫為“成績<60”。12、在SQLSELECT語句中與INTOTABLE等價的短語是A、INTODBFB、TOTABLEC、INTOFORMD、INTOFILE標準答案:A知識點解析:SOLSELECT。語句中INTOTABLE短語和INTODBF短語都可用來定義將查詢結果存放到永久表中。另外,INTOARRAY將查詢結果存放到數(shù)組,INTOCURSOR將查詢結果存放到臨時表,TOFILE將查詢結果存放到文本文件中。13、“教師表”中有“職工號”、“姓名”、“工齡”和“系號”等字段,“學院表”中有“系名”和“系號”等字段,求教師總數(shù)最多的系的教師人數(shù),正確的命令序列是A、SELECT教師表.系號,COUNT(*)AS人數(shù)FROM教師表,學院表;GROUPBY教師表.系號INTODBFTEMPSELECTMAX(人數(shù))FROMTEMPB、SELECT教師表.系號,COUNT(*)FROM教師表,學院表;WHERE教師表.系號=學院表.系號GROUPBY教師表.系號INTODBFTEMPSELECTMAX(人數(shù))FROMTEMPC、SELECT教師表.系號,COUNT(*)AS人數(shù)FROM教師表,學院表;WHERE教師表.系號=學院表.系號GROUPBY教師表.系號TOFILETEMPSELECTMAX(人數(shù))FROMTEMPD、SELECT教師表.系號,COUNT(*)AS人數(shù)FROM教師表,學院表;WHERE教師表.系號=學院表.系號GROUPBY教師表.系號INTODBFTEMPSELECTMAX(人數(shù))FROMTEMP標準答案:D知識點解析:由于“教師表”與“學院表”是通過“系號”進行關系的連接,而選項A)沒有WHERE子句,所以選項A)是錯誤的。選項B)中,由于接下來的SQL語句“SELECTMAX(人數(shù))FROMTEMP”的字段名稱為“人數(shù)”,而第一條SQL語句沒有對查詢的結果進行重命名,會產生錯誤。選項C)中的SQL語句使用短語INTOFILEFileName[ADDITIVE]可以將查詢結果存放到文本文件中,F(xiàn)ileName是文件名,默認擴展名是txt,接下來的SOL語句“SELECTMAX(人數(shù))FROMTEMP”會產生錯誤。14、查詢“讀者”表的所有記錄并存儲于臨時表文件one中的SQL語句是A、SELECT*FROM讀者INTOCURSORoneB、SELE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論