




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE44數(shù)據(jù)庫筆試題及答案I第一套選擇題1.下面敘述正確的是______。A、算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)C、算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D、以上三種描述都不對2.以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是______。A、隊列B、線性表C、二叉樹D、棧3.在一棵二叉樹上第5層的結(jié)點數(shù)最多是______。A、8B、16C、32D、154.下面描述中,符合結(jié)構(gòu)化程序設(shè)計風(fēng)格的是______。A、使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯B、模塊只有一個入口,可以有多個出口C、注重提高程序的執(zhí)行效率D、不使用goto語句5.下面概念中,不屬于面向?qū)ο蠓椒ǖ氖莀_____。A、對象B、繼承C、類D、過程調(diào)用6.在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是______。A、可行性分析B、需求分析C、詳細(xì)設(shè)計D、程序編碼7.在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是______。A、數(shù)據(jù)結(jié)構(gòu)設(shè)計B、給出系統(tǒng)模塊結(jié)構(gòu)C、定義模塊算法D、定義需求并建立系統(tǒng)模型8.數(shù)據(jù)庫系統(tǒng)的核心是______。A、數(shù)據(jù)模型B、數(shù)據(jù)庫管理系統(tǒng)C、軟件工具D、數(shù)據(jù)庫9.下列敘述中正確的是______。A、數(shù)據(jù)庫是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持B、數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng)C、數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題D、數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致10.下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是______。A、內(nèi)模式B、外模式C、概念模式D、邏輯模式11.VisualFoxPro數(shù)據(jù)庫文件是______。A、存放用戶數(shù)據(jù)的文件B、管理數(shù)據(jù)庫對象的系統(tǒng)文件C、存放用戶數(shù)據(jù)和系統(tǒng)的文件D、前三種說法都對12.SQL語句中修改表結(jié)構(gòu)的命令是______。A、MODIFYTABLEB、MODIFYSTRUCTUREC、ALTERTABLED、ALTERSTRUCTURE13.如果要創(chuàng)建一個數(shù)據(jù)組分組報表,第一個分組表達(dá)式是"部門",第二個分組表達(dá)式是"性別",第三個分組表達(dá)式是"基本工資",當(dāng)前索引的索引表達(dá)式應(yīng)當(dāng)是______。A、部門+性別+基本工資B、部門+性別+STR(基本工資)C、STR(基本工資)+性別+部門D、性別+部門+STR(基本工資)14.把一個項目編譯成一個應(yīng)用程序時,下面的敘述正確的是______。A、所有的項目文件將組合為一個單一的應(yīng)用程序文件B、所有項目的包含文件將組合為一個單一的應(yīng)用程序文件C、所有項目排除的文件將組合為一個單一的應(yīng)用程序文件D、由用戶選定的項目文件將組合為一個單一的應(yīng)用程序文件15.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS三者之間的關(guān)系是______。A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括DBS和DBMSD、DBS就是DB,也就是DBMS16.在"選項"對話框的"文件位置"選項卡中可以設(shè)置______。A、表單的默認(rèn)大小B、默認(rèn)目錄C、日期和時間的顯示格式D、程序代碼的顏色17.要控制兩個表中數(shù)據(jù)的完整性和一致性可以設(shè)置"參照完整性",要求這兩個表______。A、是同一個數(shù)據(jù)庫中的兩個表B、不同數(shù)據(jù)庫中的兩個表C、兩個自由表D、一個是數(shù)據(jù)庫表另一個是自由表18.定位第一條記錄上的命令是______。A、GOTOPB、GOBOTTOMC、GO6D、SKIP19.在關(guān)系模型中,實現(xiàn)"關(guān)系中不允許出現(xiàn)相同的元組"的約束是通過______。A、候選鍵B、主鍵C、外鍵D、超鍵20.設(shè)當(dāng)前數(shù)據(jù)庫有10條記錄(記錄未進(jìn)行任何索引),在下列三種情況下,當(dāng)前記錄號為1時;EOF()為真時;BOF()為真時,命令?RECN()的結(jié)果分別是______。A、1,11,1B、1,10,1C、1,11,0D、1,10,021.下列表達(dá)式中結(jié)果不是日期型的是______。A、CTOD("2000/10/01")B、{^99/10/01}+365C、VAL("2000/10/01")D、DATE()22.只有滿足聯(lián)接條件的記錄才包含在查詢結(jié)果中,這種聯(lián)接為______。A、左聯(lián)接B、右聯(lián)接C、內(nèi)部聯(lián)接D、完全聯(lián)接23.索引字段值不唯一,應(yīng)該選擇的索引類型為______。A、主索引B、普通索引C、候選索引D、唯一索引24.執(zhí)行SELECT0選擇工作區(qū)的結(jié)果是______。A、選擇了0號工作區(qū)B、選擇了空閑的最小號工作區(qū)C、關(guān)閉選擇的工作區(qū)D、選擇已打開的工作區(qū)25.從數(shù)據(jù)庫中刪除表的命令是______。A、DROPTABLEB、ALTERTABLEC、DELETETABLED、USE26.DELETEFROMSWHERE年齡>60語句的功能是______。A、從S表中徹底刪除年齡大于60歲的記錄B、S表中年齡大于60歲的記錄被加上刪除標(biāo)記C、刪除S表D、刪除S表的年齡列27.SELECT-SQL語句是______。A、選擇工作區(qū)語句B、數(shù)據(jù)查詢語句C、選擇標(biāo)準(zhǔn)語句D、數(shù)據(jù)修改語句28.SQL語言是______語言。A、層次數(shù)據(jù)庫B、網(wǎng)絡(luò)數(shù)據(jù)庫C、關(guān)系數(shù)據(jù)庫D、非數(shù)據(jù)庫29.在SQL中,刪除視圖用______。A、DROPSCHEMA命令B、CREATETABLE命令C、DROPVIEW命令D、DROPINDEX命令30.以下屬于非容器類控件的是______。A、FormB、LabelC、pageD、Container31.將查詢結(jié)果放在數(shù)組中應(yīng)使用______短語。A、INTOCURSORB、TOARRAYC、INTOTABLED、INTOARRAY32.在命令窗口執(zhí)行SQL命令時,若命令要占用多行,續(xù)行符是______。A、冒號(:)B、分號(;)C、逗號(,)D、連字符(-)33.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))對于圖書管理數(shù)據(jù)庫,查詢0001號借書證的讀者姓名和所借圖書的書名。SQL語句正確的是______。SELECT姓名,書名FROM借閱,圖書,讀者WHERE;借閱.借書證號="0001"AND;____________A、圖書.總編號=借閱.總編號AND;讀者.借書證號=借閱.借書證號B、圖書.分類號=借閱.分類號AND;讀者.借書證號=借閱.借書證號C、讀者.總編號=借閱.總編號AND;讀者.借書證號=借閱.借書證號D、圖書.總編號=借閱.總編號AND;34.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))對于圖書管理數(shù)據(jù)庫,分別求出各個單位當(dāng)前借閱圖書的讀者人次。下面的SQL語句正確的是______。SELECT單位,______FROM借閱,讀者WHERE;借閱.借書證號=讀者.借書證號______A、COUNT(借閱.借書證號)GROUPBY單位B、SUM(借閱.借書證號)GROUPBY單位C、COUNT(借閱.借書證號)ORDERBY單位D、COUNT(借閱.借書證號)HAVING單位35.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))對于圖書管理數(shù)據(jù)庫,檢索借閱了《現(xiàn)代網(wǎng)絡(luò)技術(shù)基礎(chǔ)》一書的借書證號。下面SQL語句正確的是______。SELECT借書證號FROM借閱WHERE總編號=;______A、(SELECT借書證號FROM圖書WHERE書名="現(xiàn)代網(wǎng)絡(luò)技術(shù)基礎(chǔ)")B、(SELECT總編號FROM圖書WHERE書名="現(xiàn)代網(wǎng)絡(luò)技術(shù)基礎(chǔ)")C、(SELECT借書證號FROM借閱WHERE書名="現(xiàn)代網(wǎng)絡(luò)技術(shù)基礎(chǔ)")D、(SELECT總編號FROM借閱WHERE書名="現(xiàn)代網(wǎng)絡(luò)技術(shù)基礎(chǔ)")填空題36.算法的復(fù)雜度主要包括______復(fù)雜度和空間復(fù)雜度。37.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的______。38.若按功能劃分,軟件測試的方法通常分為白盒測試方法和______測試方法。39.如果一個工人可管理多個設(shè)施,而一個設(shè)施只被一個工人管理,則實體"工人"與實體"設(shè)備"之間存在______聯(lián)系。40.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運(yùn)算包括選擇、連接和______。41.命令?LEN("THISISMYBOOK")的結(jié)果是______。42.SQLSELECT語句為了將查詢結(jié)果存放到臨時表中應(yīng)該使用______短語。43.多欄報表的欄目數(shù)可以通過______來設(shè)置。44.在打開項目管理器之后再打開"應(yīng)用程序生成器",可以通過按ALT+F2鍵,快捷菜單和"工具"菜單中的______。45.數(shù)據(jù)庫系統(tǒng)的核心是______。46.查詢設(shè)計器中的"聯(lián)接"選項卡,可以控制______選擇。47.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))用SQL的CREATE命令建立借閱表(字段順序要相同),請對下面的SQL語句填空:______48.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))對圖書管理數(shù)據(jù)庫,查詢由"清華大學(xué)出版社"或"電子工業(yè)出版社"出版,并且單價不超出20元的書名。請對下面的SQL語句填空:SELECT書名,出版單位,單價FROM圖書;WHERE_______AND;_______49.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))對圖書管理數(shù)據(jù)庫,求共借出多少種圖書。請對下面的SQL語句填空:SELECT_______FROM借閱選擇題答案1-5CCBAD6-10BDBCA11-15DCBAA16-20BAABA21-25CCBBA26-30BBCCB31-35DDAAB填空題答案36.時間 37.模式或邏輯模式 38.黑盒 39.一對多或1對多或一對n或1:N或1:n或1:n或1:N或一對m或1:M或1:m或1:m或1:N40.投影 41.15 42.Intocursor或Intocursorcursorname43.頁面設(shè)置或列數(shù) 44.應(yīng)用程序生成器45.數(shù)據(jù)庫管理系統(tǒng)或DBMS46.聯(lián)接類型或聯(lián)接條件47.CREATETABLE借閱(借書證號C(4),總編號C(6),借書日期D(8))或CREATABL借閱(借書證號C(4),總編號C(6),借書日期D(8))或CREATETABLE借閱(借書證號C(4),總編號C(6),借書日期D)或CREATABL借閱(借書證號C(4),總編號C(6),借書日期D)48.單價<=20或(出版單位="清華大學(xué)出版社"OR出版單位="電子工業(yè)出版社")或(出版單位="電子工業(yè)出版社"OR出版單位="清華大學(xué)出版社")或(出版單位='清華大學(xué)出版社'OR出版單位='電子工業(yè)出版社')與(出版單位="清華大學(xué)出版社"OR出版單位="電子工業(yè)出版社")或(出版單位='清華大學(xué)出版社‘)49.COUNT(DISTINCT總編號)或COUN(DISTINCT總編號)或COUNT(DIST總編號)或COUN(DIST總編號)第二套題選擇題1.以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是______。A、隊列B、線性表C、二叉樹D、棧2.在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是______。A、可行性分析B、需求分析C、詳細(xì)設(shè)計D、程序編碼3.結(jié)構(gòu)化程序設(shè)計主要強(qiáng)調(diào)的是______。A、程序的規(guī)模B、程序的易讀性C、程序的執(zhí)行效率D、程序的可移植性4.在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是______。A、概要設(shè)計B、詳細(xì)設(shè)計C、可行性分析D、需求分析5.下列關(guān)于棧的敘述中正確的是______。A、在棧中只能插入數(shù)據(jù)B、在棧中只能刪除數(shù)據(jù)C、棧是先進(jìn)先出的線性表D、棧是先進(jìn)后出的線性表6.下面不屬于軟件設(shè)計原則的是______。A、抽象B、模塊化C、自底向上D、信息隱蔽7.對長度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為______。A、N+1B、NC、(N+1)/2D、N/28.視圖設(shè)計一般有3種設(shè)計次序,下列不屬于視圖設(shè)計的是______。A、自頂向下B、由外向內(nèi)C、由內(nèi)向外D、自底向上9.下列有關(guān)數(shù)據(jù)庫的描述,正確的是______。A、數(shù)據(jù)庫是一個DBF文件B、數(shù)據(jù)庫是一個關(guān)系C、數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合D、數(shù)據(jù)庫是一組文件10.下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是______。A、數(shù)據(jù)結(jié)構(gòu)B、數(shù)據(jù)操作C、數(shù)據(jù)查詢D、數(shù)據(jù)約束11.在下面的VisualFoxPro表達(dá)式中,運(yùn)算結(jié)果是邏輯真的是______。A、EMPTY(.NULL.)B、LIKE('acd','ac?')C、AT('a','123abc')D、EMPTY(SPACE(2))12.表達(dá)式VAL(SUBS("奔騰586",5,1))*Len("visualfoxpro")的結(jié)果是______。A、13.00B、14.00C、45.00D、65.0013.以下關(guān)于自由表的敘述,正確的是______。A、全部是用以前版本的FOXPRO(FOXBASE)建立的表B、可以用VisualFoxPro建立,但是不能把它添加到數(shù)據(jù)庫中C、自由表可以添加到數(shù)據(jù)庫中,數(shù)據(jù)庫表也可以從數(shù)據(jù)庫中移出成為自由表D、自由表可以添加到數(shù)據(jù)庫中,但數(shù)據(jù)庫表不可從數(shù)據(jù)庫中移出成為自由表14.下面關(guān)于數(shù)據(jù)環(huán)境和數(shù)據(jù)環(huán)境中兩個表之間的關(guān)系的陳述中,______是正確的。A、數(shù)據(jù)環(huán)境是對象,關(guān)系不是對象B、數(shù)據(jù)環(huán)境不是對象,關(guān)系是對象C、數(shù)據(jù)環(huán)境是對象,關(guān)系是數(shù)據(jù)環(huán)境中的對象D、數(shù)據(jù)環(huán)境和關(guān)系均不是對象15.在"報表設(shè)計器"中,可以使用的控件是______。A、標(biāo)簽、域控件和線條B、標(biāo)簽、域控件和列表框C、標(biāo)簽、文本框和列表框D、布局和數(shù)據(jù)源16.用二維表數(shù)據(jù)來表示實體及實體之間聯(lián)系的數(shù)據(jù)模型稱為______。A、實體--聯(lián)系模型B、層次模型C、網(wǎng)狀模型D、關(guān)系模型17.用來指明復(fù)選框的當(dāng)前選中狀態(tài)的屬性是______。A、SelectedB、CaptionC、ValueD、ControlSource18.使用菜單操作方法打開一個在當(dāng)前目錄下已經(jīng)存在的查詢文件zgjk.qpr后,在命令窗口生成的命令是____。A、OPENQUERYzgjk.qprB、MODIFYQUERYzgjk.qprC、DOQUERYzgjk.qprD、CREATEQUERYzgjk.qpr19.可以伴隨著表的打開而自動打開的索引是______。A、單一索引文件(IDX)B、復(fù)合索引文件(CDX)C、結(jié)構(gòu)化復(fù)合索引文件D、非結(jié)構(gòu)化復(fù)合索引文件20.在數(shù)據(jù)庫設(shè)計器中,建立兩個表之間的一對多聯(lián)系是通過以下索引實現(xiàn)的______。A、"一方"表的主索引或候選索引,"多方"表的普通索引B、"一方"表的主索引,"多方"表的普通索引或候選索引C、"一方"表的普通索引,"多方"表的主索引或候選索引D、"一方"表的普通索引,"多方"表的候選索引或普通索引21.下列函數(shù)中函數(shù)值為字符型的是______。A、DATE()B、TIME()C、YEAR()D、DATETIME()22.下面對控件的描述正確的是______。A、用戶可以在組合框中進(jìn)行多重選擇B、用戶可以在列表框中進(jìn)行多重選擇C、用戶可以在一個選項組中選中多個選項按鈕D、用戶對一個表單內(nèi)的一組復(fù)選框只能選中其中一個23.確定列表框內(nèi)的某個條目是否被選定應(yīng)使用的屬性是______。A、ValueB、ColumnCountC、ListCountD、Selected24.設(shè)有關(guān)系R1和R2,經(jīng)過關(guān)系運(yùn)算得到結(jié)果S,則S是______。A、一個關(guān)系B、一個表單C、一個數(shù)據(jù)庫D、一個數(shù)組25.DBAS指的是______。A、數(shù)據(jù)庫管理系統(tǒng)B、數(shù)據(jù)庫系統(tǒng)C、數(shù)據(jù)庫應(yīng)用系統(tǒng)D、數(shù)據(jù)庫服務(wù)系統(tǒng)26.設(shè)X="ABC",Y="ABCD",則下列表達(dá)式中值為.T.的是______。A、X=YB、X==YC、X$YD、AT(X,Y)=027.在表結(jié)構(gòu)中,邏輯型、日期型、備注型字段的寬度分別固定為______。A、3,8,10B、1,6,4C、1,8,任意D、1,8,428.在標(biāo)準(zhǔn)SQL中,建立視圖的命令是______。A、CREATESCHEMA命令B、CREATETABLE命令C、CREATEVIEW命令D、CREATEINDEX命令29.有關(guān)SCAN循環(huán)結(jié)構(gòu),敘述正確的是______。A、SCAN循環(huán)結(jié)構(gòu)中的LOOP語句,可將程序流程直接指向循環(huán)開始語句SCAN,首先判斷EOF()函數(shù)的真假B、在使用SCAN循環(huán)結(jié)構(gòu)時,必須打開某一個數(shù)據(jù)庫C、SCAN循環(huán)結(jié)構(gòu)的循環(huán)體中必須寫有SKIP語句D、SCAN循環(huán)結(jié)構(gòu),如果省略了子句\FOR和WHILE條件子句,則直接退出循環(huán)30.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))對于圖書管理數(shù)據(jù)庫,要查詢所藏圖書中,各個出版社的圖書最高單價、平均單價和冊數(shù),下面SQL語句正確的是______。SELECT出版單位,______,______,______;FROM圖書管理!圖書______出版單位A、MIN(單價)AVGAGE(單價)COUNT(*)GROUPBYB、MAX(單價)AVG(單價)COUNT(*)ORDERBYC、MAX(單價)AVG(單價)SUM(*)ORDERBYD、MAX(單價)AVG(單價)COUNT(*)GROUPBY31.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))對于圖書管理數(shù)據(jù)庫,求CIE單位借閱圖書的讀者的人數(shù)。下面SQL語句正確的是______。SELECT______FROM借閱WHERE;借書證號_______A、COUNT(DISTINCT借書證號)IN(SELECT借書證號FROM讀者WHERE單位="CIE")B、COUNT(DISTINCT借書證號)IN(SELECT借書證號FROM借閱WHERE單位="CIE")C、SUM(DISTINCT借書證號)IN(SELECT借書證號FROM讀者WHERE單位="CIE")D、SUM(DISTINCT借書證號)IN(SELECT借書證號FOR借閱WHERE單位="CIE")32.查詢訂購單號(字符型,長度為4)尾字符是"1"的錯誤命令是______。A、SELECT*FROM訂單WHERESUBSTR(訂購單號,4)="1"B、SELECT*FROM訂單WHERESUBSTR(訂購單號,4,1)="1"C、SELECT*FROM訂單WHERE"1"$訂購單號D、SELECT*FROM訂單WHERERIGHT(訂購單號,1)="1"33.在關(guān)系模型中,為了實現(xiàn)"關(guān)系中不允許出現(xiàn)相同元組"的約束應(yīng)使用______。A、臨時關(guān)鍵字B、主關(guān)鍵字C、外部關(guān)鍵字D、索引關(guān)鍵字34.根據(jù)"職工"項目文件生成emp_sys.exe應(yīng)用程序的命令是______。A、BUILDEXEemp_sysFROM職工B、BUILDAPPemp_sys.exeFROM職工C、LIKEEXEemp_sysFROM職工D、LIKEAPPemp_sys.exeFROM職工35.當(dāng)前盤當(dāng)前目錄下有數(shù)據(jù)庫:學(xué)院.dbc,其中有"教師"表和"學(xué)院"表。"教師"表:"學(xué)院"表:有SQL語句:SELECTDISTINCT系號FROM教師WHERE工資>=;ALL(SELECT工資FROM教師WHERE系號="02")與如上語句等價的SQL語句是______。A、SELECTDISTINCT系號FROM教師WHERE工資>=;(SELECTMAX(工資)FROM教師WHERE系號="02")B、SELECTDISTINCT系號FROM教師WHERE工資>=;(SELECTMIN(工資)FROM教師WHERE系號="02")C、SELECTDISTINCT系號FROM教師WHERE工資>=;ANY(SELECT工資FROM教師WHERE系號="02")D、SELECTDISTINCT系號FROM教師WHERE工資>=;SOME(SELECT工資FROM教師WHERE系號="02")填空題36.若按功能劃分,軟件測試的方法通常分為白盒測試方法和______測試方法。37.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。38.在最壞情況下,冒泡排序的時間復(fù)雜度為______。39.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過對象的______性來實現(xiàn)的。40.關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。41.要把幫助文件設(shè)置為復(fù)制到硬盤上的Foxhelp.chm文件,需要在"選項"對話框的______選項卡上設(shè)置。42.TIME()的返回值的數(shù)據(jù)類型是______類型。43.在定義字段有效性規(guī)則中,在規(guī)則框中輸入的表達(dá)式中類型是________。44.設(shè)計報表通常包括兩部分內(nèi)容:______和布局。45.______是指只有滿足聯(lián)接條件的記錄才包含在查詢結(jié)果中。46.設(shè)有圖書管理數(shù)據(jù)庫:圖書(總編號C(6),分類號C(8),書名C(16),作者C(6),出版單位C(20),單價N(6,2))讀者(借書證號C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20))借閱(借書證號C(4),總編號C(6),借書日期D(8))檢索書價在15元至25元(含15元和25元)之間的圖書的書名、作者、書價和分類號,結(jié)果按分類號升序排序。SELECT書名,作者,單價,分類號FROM圖書;WHERE______;ORDERBY______;47.設(shè)有如下關(guān)系表R、S和T:R(BH,XM,XB,DWH)S(SWH,DWM)T(BH,XM,XB,DWH)實現(xiàn)R∪T的SQL語句是_______。48.設(shè)有如下關(guān)系表R:R(NO,NAME,SEX,AGE,CLASS)主關(guān)鍵字是NO其中NO為學(xué)號,NAME為姓名,SEX為性別,AGE為年齡,CLASS為班號。寫出實現(xiàn)下列功能的SQL語句。插入"95031"班學(xué)號為30,姓名為"鄭和"的學(xué)生記錄;_______。49.設(shè)有如下關(guān)系表R:R(NO,NAME,SEX,AGE,CLASS)主關(guān)鍵字是NO其中NO為學(xué)號(數(shù)值型),NAME為姓名,SEX為性別,AGE為年齡,CLASS為班號。寫出實現(xiàn)下列功能的SQL語句。刪除學(xué)號為20的學(xué)生記錄;______。選擇題答案1-5CBBDD6-10CBBCC11-15DDCCA16-20DCBCA21-25BBDAC26-30CDCBD31-35ACBBA填空題答案36.黑盒37.概念或概念級38.n(n-1)/239.封裝40.查詢41.文件位置42.字符或C43.邏輯表達(dá)式44.數(shù)據(jù)源45.內(nèi)部聯(lián)接46.單價BETWEEN15AND25或單價BETW15AND25或單價BETWE15AND25或單價>=15and單價<=25或單價>=15and單價=<25或單價=>15and單價<=25或單價=>15and單價=<25與分類號ASC或分類號47.SELECT*FROMRUNIONSELECT*FROMT或SELE*FROMRUNIOSELE*FROMT或SELECT*FROMRUNIOSELECT*FROMT或SELE*FROMRUNIONSELE*FROMT48.INSERTINTOR(NO,NAME,CLASS)VALUES(30,"鄭和","95031")或INSEINTOR(NO,NAME,CLASS)VALUES(30,"鄭和","95031")49.DELETEFROMRWHERENO=20或DELEFROMRWHERENO=20或DELEFROMRWHERNO=20或DELETEFROMRWHERNO=20SQL經(jīng)典面試題及答案1.一道SQL語句面試題,關(guān)于groupby表內(nèi)容:2005-05-09勝2005-05-09勝2005-05-09負(fù)2005-05-09負(fù)2005-05-10勝2005-05-10負(fù)2005-05-10負(fù)如果要生成下列結(jié)果,該如何寫sql語句?勝負(fù)2005-05-09222005-05-10121)selectrq,sum(casewhenshengfu='勝'then1else0end)'勝',sum(casewhenshengfu='負(fù)'then1else0end)'負(fù)'from#tmpgroupbyrq2)selectN.rq,N.勝,M.負(fù)from(selectrq,勝=count(*)from#tmpwhereshengfu='勝'groupbyrq)Ninnerjoin(selectrq,負(fù)=count(*)from#tmpwhereshengfu='負(fù)'groupbyrq)MonN.rq=M.rq3)selecta.col001,a.a1勝,b.b1負(fù)from(selectcol001,count(col001)a1fromtemp1wherecol002='勝'groupbycol001)a,(selectcol001,count(col001)b1fromtemp1wherecol002='負(fù)'groupbycol001)bwherea.col001=b.col0012.請教一個面試中遇到的SQL語句的查詢問題表中有ABC三列,用SQL語句實現(xiàn):當(dāng)A列大于B列時選擇A列否則選擇B列,當(dāng)B列大于C列時選擇B列否則選擇C列。select(casewhena>bthenaelsebend),(casewhenb>cthenbeslecend)fromtable_name3.面試題:一個日期判斷的sql語句?請取出tb_send表中日期(SendTime字段)為當(dāng)天的所有記錄?(SendTime字段為datetime型,包含日期與時間)select*fromtbwheredatediff(dd,SendTime,getdate())=04.有一張表,里面有3個字段:語文,數(shù)學(xué),英語。其中有3條記錄分別表示語文70分,數(shù)學(xué)80分,英語58分,請用一條sql語句查詢出這三條記錄并按以下條件顯示出來(并寫出您的思路):大于或等于80表示優(yōu)秀,大于或等于60表示及格,小于60分表示不及格。顯示格式:語文數(shù)學(xué)英語及格優(yōu)秀不及格select(casewhen語文>=80then'優(yōu)秀'when語文>=60then'及格'else'不及格')as語文,(casewhen數(shù)學(xué)>=80then'優(yōu)秀'when數(shù)學(xué)>=60then'及格'else'不及格')as數(shù)學(xué),(casewhen英語>=80then'優(yōu)秀'when英語>=60then'及格'else'不及格')as英語,fromtable5.在sqlserver2000中請用sql創(chuàng)建一張用戶臨時表和系統(tǒng)臨時表,里面包含兩個字段ID和IDValues,類型都是int型,并解釋下兩者的區(qū)別?用戶臨時表:createtable#xx(IDint,IDValuesint)系統(tǒng)臨時表:createtable##xx(IDint,IDValuesint)區(qū)別:用戶臨時表只對創(chuàng)建這個表的用戶的Session可見,對其他進(jìn)程是不可見的.當(dāng)創(chuàng)建它的進(jìn)程消失時這個臨時表就自動刪除.全局臨時表對整個SQLServer實例都可見,但是所有訪問它的Session都消失的時候,它也自動刪除.6.sqlserver2000是一種大型數(shù)據(jù)庫,他的存儲容量只受存儲介質(zhì)的限制,請問它是通過什么方式實現(xiàn)這種無限容量機(jī)制的。它的所有數(shù)據(jù)都存儲在數(shù)據(jù)文件中(*.dbf),所以只要文件夠大,SQLServer的存儲容量是可以擴(kuò)大的.SQLServer2000數(shù)據(jù)庫有三種類型的文件:主要數(shù)據(jù)文件主要數(shù)據(jù)文件是數(shù)據(jù)庫的起點,指向數(shù)據(jù)庫中文件的其它部分。每個數(shù)據(jù)庫都有一個主要數(shù)據(jù)文件。主要數(shù)據(jù)文件的推薦文件擴(kuò)展名是.mdf。次要數(shù)據(jù)文件次要數(shù)據(jù)文件包含除主要數(shù)據(jù)文件外的所有數(shù)據(jù)文件。有些數(shù)據(jù)庫可能沒有次要數(shù)據(jù)文件,而有些數(shù)據(jù)庫則有多個次要數(shù)據(jù)文件。次要數(shù)據(jù)文件的推薦文件擴(kuò)展名是.ndf。日志文件日志文件包含恢復(fù)數(shù)據(jù)庫所需的所有日志信息。每個數(shù)據(jù)庫必須至少有一個日志文件,但可以不止一個。日志文件的推薦文件擴(kuò)展名是.ldf。7.請用一個sql語句得出結(jié)果從table1,table2中取出如table3所列格式數(shù)據(jù),注意提供的數(shù)據(jù)及結(jié)果不準(zhǔn)確,只是作為一個格式向大家請教。如使用存儲過程也可以。table1月份mon部門dep業(yè)績yj一月份0110一月份0210一月份035二月份028二月份049三月份038table2部門dep部門名稱dname01國內(nèi)業(yè)務(wù)一部02國內(nèi)業(yè)務(wù)二部03國內(nèi)業(yè)務(wù)三部04國際業(yè)務(wù)部table3(result)部門dep一月份二月份三月份0110nullnull02108null03null5804nullnull91)selecta.部門名稱dname,b.業(yè)績yjas'一月份',c.業(yè)績yjas'二月份',d.業(yè)績yjas'三月份'fromtable1a,table2b,table2c,table2dwherea.部門dep=b.部門depandb.月份mon='一月份'anda.部門dep=c.部門depandc.月份mon='二月份'anda.部門dep=d.部門depandd.月份mon='三月份'and2)selecta.dep,sum(casewhenb.mon=1thenb.yjelse0end)as'一月份',sum(casewhenb.mon=2thenb.yjelse0end)as'二月份',sum(casewhenb.mon=3thenb.yjelse0end)as'三月份',sum(casewhenb.mon=4thenb.yjelse0end)as'四月份',sum(casewhenb.mon=5thenb.yjelse0end)as'五月份',sum(casewhenb.mon=6thenb.yjelse0end)as'六月份',sum(casewhenb.mon=7thenb.yjelse0end)as'七月份',sum(casewhenb.mon=8thenb.yjelse0end)as'八月份',sum(casewhenb.mon=9thenb.yjelse0end)as'九月份',sum(casewhenb.mon=10thenb.yjelse0end)as'十月份',sum(casewhenb.mon=11thenb.yjelse0end)as'十一月份',sum(casewhenb.mon=12thenb.yjelse0end)as'十二月份',fromtable2aleftjointable1bona.dep=b.dep8.華為一道面試題一個表中的Id有多個記錄,把所有這個id的記錄查出來,并顯示共有多少條記錄數(shù)。selectid,Count(*)fromtbgroupbyidhavingcount(*)>1select*from(selectcount(ID)ascountfromtablegroupbyID)TwhereT.count>1Sql常見面試題1.用一條SQL語句查詢出每門課都大于80分的學(xué)生姓名namekechengfenshu張三語文81張三數(shù)學(xué)75李四語文76李四數(shù)學(xué)90王五語文81王五數(shù)學(xué)100王五英語90A:selectdistinctnamefromtablewherenamenotin(selectdistinctnamefromtablewherefenshu<=80)2.學(xué)生表如下:自動編號學(xué)號姓名課程編號課程名稱分?jǐn)?shù)12005001張三0001數(shù)學(xué)6922005002李四0001數(shù)學(xué)8932005001張三0001數(shù)學(xué)69刪除除了自動編號不同,其他都相同的學(xué)生冗余信息A:deletetablenamewhere自動編號notin(selectmin(自動編號)fromtablenamegroupby學(xué)號,姓名,課程編號,課程名稱,分?jǐn)?shù))一個叫department的表,里面只有一個字段name,一共有4條紀(jì)錄,分別是a,b,c,d,對應(yīng)四個球?qū)ΓF(xiàn)在四個球?qū)M(jìn)行比賽,用一條sql語句顯示所有可能的比賽組合.你先按你自己的想法做一下,看結(jié)果有我的這個簡單嗎?答:select,fromteama,teambwhere<請用SQL語句實現(xiàn):從TestDB數(shù)據(jù)表中查詢出所有月份的發(fā)生額都比101科目相應(yīng)月份的發(fā)生額高的科目。請注意:TestDB中有很多科目,都有1-12月份的發(fā)生額。AccID:科目代碼,Occmonth:發(fā)生額月份,DebitOccur:發(fā)生額。數(shù)據(jù)庫名:JcyAudit,數(shù)據(jù)集:Select*fromTestDB答:selecta.*fromTestDBa,(selectOccmonth,max(DebitOccur)Debit101ccurfromTestDBwhereAccID='101'groupbyOccmonth)bwherea.Occmonth=b.Occmonthanda.DebitOccur>b.Debit101ccur**************************面試題:怎么把這樣一個表兒yearmonthamount199111.1199121.2199131.3199141.4199212.1199222.2199232.3199242.4查成這樣一個結(jié)果yearm1m21991.41992.4答案一、selectyear,(selectamountfromaaamwheremonth=1andm.year=aaa.year)asm1,(selectamountfromaaamwheremonth=2andm.year=aaa.year)asm2,(selectamountfromaaamwheremonth=3andm.year=aaa.year)asm3,(selectamountfromaaamwheremonth=4andm.year=aaa.year)asm4fromaaagroupbyyear這個是ORACLE中做的:select*from(selectname,yearb1,lead(year)over(partitionbynameorderbyyear)b2,lead(m,2)over(partitionbynameorderbyyear)b3,rank()over(partitionbynameorderbyyear)rkfromt)whererk=1;**********************精妙的SQL語句!精妙SQL語句作者:不詳發(fā)文時間:2003.05.2910:55:05說明:復(fù)制表(只復(fù)制結(jié)構(gòu),源表名:a新表名:b)SQL:select*intobfromawhere1<>1說明:拷貝表(拷貝數(shù)據(jù),源表名:a目標(biāo)表名:b)SQL:insertintob(a,b,c)selectd,e,ffromb;說明:顯示文章、提交人和最后回復(fù)時間SQL:selecta.title,a.username,b.adddatefromtablea,(selectmax(adddate)adddatefromtablewheretable.title=a.title)b說明:外連接查詢(表名1:a表名2:b)SQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c說明:日程安排提前五分鐘提醒SQL:select*from日程安排wheredatediff('minute',f開始時間,getdate())>5說明:兩張關(guān)聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息SQL:deletefrominfowherenotexists(select*frominfobzwhereinfo.infid=infobz.infid)說明:--SQL:SELECTA.NUM,A.NAME,B.UPD_DATE,B.PREV_UPD_DATEFROMTABLE1,(SELECTX.NUM,X.UPD_DATE,Y.UPD_DATEPREV_UPD_DATEFROM(SELECTNUM,UPD_DATE,INBOUND_QTY,STOCK_ONHANDFROMTABLE2WHERETO_CHAR(UPD_DATE,'YYYY/MM')=TO_CHAR(SYSDATE,'YYYY/MM'))X,(SELECTNUM,UPD_DATE,STOCK_ONHANDFROMTABLE2WHERETO_CHAR(UPD_DATE,'YYYY/MM')=TO_CHAR(TO_DATE(TO_CHAR(SYSDATE,'YYYY/MM')||'/01','YYYY/MM/DD')-1,'YYYY/MM'))Y,WHEREX.NUM=Y.NUM(+)ANDX.INBOUND_QTY+NVL(Y.STOCK_ONHAND,0)<>X.STOCK_ONHAND)BWHEREA.NUM=B.NUM說明:--SQL:select*fromstudentinfowherenotexists(select*fromstudentwherestudentinfo.id=student.id)and系名稱='"&strdepartmentname&"'and專業(yè)名稱='"&strprofessionname&"'orderby性別,生源地,高考總成績說明:從數(shù)據(jù)庫中去一年的各單位電話費(fèi)統(tǒng)計(電話費(fèi)定額賀電化肥清單兩個表來源)SQL:SELECTa.userper,a.tel,a.standfee,TO_CHAR(a.telfeedate,'yyyy')AStelyear,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'01',a.factration))ASJAN,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'02',a.factration))ASFRI,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'03',a.factration))ASMAR,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'04',a.factration))ASAPR,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'05',a.factration))ASMAY,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'06',a.factration))ASJUE,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'07',a.factration))ASJUL,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'08',a.factration))ASAGU,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'09',a.factration))ASSEP,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'10',a.factration))ASOCT,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'11',a.factration))ASNOV,SUM(decode(TO_CHAR(a.telfeedate,'mm'),'12',a.factration))ASDECFROM(SELECTa.userper,a.tel,a.standfee,b.telfeedate,b.factrationFROMTELFEESTANDa,TELFEEbWHEREa.tel=b.telfax)aGROUPBYa.userper,a.tel,a.standfee,TO_CHAR(a.telfeedate,'yyyy')說明:四表聯(lián)查問題:SQL:select*fromaleftinnerjoinbona.a=b.brightinnerjoincona.a=c.cinnerjoindona.a=d.dwhere說明:得到表中最小的未使用的ID號SQL:SELECT(CASEWHENEXISTS(SELECT*FROMHandlebWHEREb.HandleID=1)THENMIN(HandleID)+1ELSE1END)asHandleIDFROMHandleWHERENOTHandleIDIN(SELECTa.HandleID-1FROMHandlea)***********************有兩個表A和B,均有key和value兩個字段,如果B的key在A中也有,就把B的value換為A中對應(yīng)的value這道題的SQL語句怎么寫?updatebsetb.value=(selecta.valuefromawherea.key=b.key)whereb.idin(selectb.idfromb,awhereb.key=a.key);************************高級sql面試題原表:courseidcoursenamescore1java702oracle903xml404jsp305servlet80為了便于閱讀,查詢此表后的結(jié)果顯式如下(及格分?jǐn)?shù)為60):courseidcoursenamescoremark1java70pass2oracle90pass3xml40fail4jsp30fail5servlet80pass寫出此查詢語句沒有裝ORACLE,沒試過selectcourseid,coursename,score,decode(sign(score-60),-1,'fail','pass')asmarkfromcourse完全正確SQL>desccourse_vNameNull?TypeCOURSEIDNUMBERCOURSENAMEVARCHAR2(10)SCORENUMBERSQL>select*fromcourse_v;COURSEIDCOURSENAMESCORE1java702oracle903xml404jsp305servlet80SQL>selectcourseid,coursename,score,decode(sign(score-60),-1,'fail','pass')asmarkfromcourse_v;COURSEIDCOURSENAMESCOREMARK1java70pass2oracle90pass3xml40fail4jsp30fail5servlet80pass**************************原表:idproidproname11M12F21N22G31B32A查詢后的表:idpro1pro21MF2NG3BA寫出查詢語句解決方案sql求解表a列a1a2記錄1a1b2x2y2z用select能選成以下結(jié)果嗎?1ab2xyz使用pl/sql代碼實現(xiàn),但要求你組合后的長度不能超出oraclevarchar2長度的限制。下面是一個例子createorreplacetypestrings_tableistableofvarchar2(20);createorreplacefunctionmerge(pvinstrings_table)returnvarchar2islsvarchar2(4000);beginforiin1..pv.countloopls:=ls||pv(i);endloop;returnls;end;createtablet(idnumber,namevarchar2(10));insertintotvalues(1,'Joan');insertintotvalues(1,'Jack');insertintotvalues(1,'Tom');insertintotvalues(2,'Rose');insertintotvalues(2,'Jenny');columnnamesformata80;selectt0.id,merge(cast(multiset(selectnamefromtwheret.id=t0.id)asstrings_table))namesfrom(selectdistinctidfromt)t0;droptypestrings_table;dropfunctionmerge;droptablet;用sql:Wellifyouhaveathoreticalmaximum,whichIwouldassumeyouwouldgiventhelegibilityoflistinghundredsofemployeesinthewayyoudescribethenyes.ButtheSQLneedstousetheLAGfunctionforeachemployee,henceahundredempsahundredLAGs,sokindofbulky.Thisexampleusesamaxof6,andwouldneedmorecutnpastingtodomorethanthat.SQL>selectdeptno,dname,emps2from(3selectd.deptno,d.dname,rtrim(e.ename||','||4lead(e.ename,1)over(partitionbyd.deptno5orderbye.ename)||','||6lead(e.ename,2)over(partitionbyd.deptno7orderbye.ename)||','||8lead(e.ename,3)over(partitionbyd.deptno9orderbye.ename)||','||10lead(e.ename,4)over(partitionbyd.deptno11orderbye.ename)||','||12lead(e.ename,5)over(partitionbyd.deptno13orderbye.ename),',')emps,14row_number()over(partitionbyd.deptno15orderbye.ename)x16fromempe,deptd17whered.deptno=e.deptno18)19wherex=120/DEPTNODNAMEEMPS10ACCOUNTINGCLARK,KING,MILLER20RESEARCHADAMS,FORD,JONES,ROONEY,SCOTT,SMITH30SALESALLEN,BLAKE,JAMES,MARTIN,TURNER,WARDalso先createfunctionget_a2;createorreplacefunctionget_a2(tmp_a1number)returnvarchar2isCol_a2varchar2(4000);beginCol_a2:='';forcurin(selecta2fromunite_awherea1=tmp_a1)loopCol_a2=Col_a2||cur.a2;endloop;returnCol_a2;endget_a2;selectdistincta1,get_a2(a1)fromunite_a1ABC2EFG3KMN********************************一個SQL面試題去年應(yīng)聘一個職位未果,其間被考了一個看似簡單的題,但我沒有找到好的大案.不知各位大蝦有無好的解法?題為:有兩個表,t1,t2,Tablet1:SELLER|NON_SELLERABACADBABCBDCACBCDDADBDCTablet2:SELLER|COUPON|BALA9100B9200C9300D9400A9.5100B9.520A1080要求用SELECT語句列出如下結(jié)果:如A的SUM(BAL)為B,C,D的和,B的SUM(BAL)為A,C,D的和且用的方法不要增加數(shù)據(jù)庫負(fù)擔(dān),如用臨時表等.NON-SELLER|COUPON|SUM(BAL)A9900B9800C9700D9600A9.520B9.5100C9.5120D9.5120A100B1080C1080D1080關(guān)于論壇上那個SQL微軟面試題問題:一百個賬戶各有100$,某個賬戶某天如有支出則添加一條新記錄,記錄其余額。一百天后,請輸出每天所有賬戶的余額信息這個問題的難點在于每個用戶在某天可能有多條紀(jì)錄,也可能一條紀(jì)錄也沒有(不包括第一天)返回的記錄集是一個100天*100個用戶的紀(jì)錄集下面是我的思路:1.創(chuàng)建表并插入測試數(shù)據(jù):我們要求username從1-100CREATETABLE[dbo].[TABLE2]([username][varchar](50)NOTNULL,--用戶名[outdate][datetime]NOTNULL,--日期[cash][float]NOTNULL--余額)ON[PRIMARYdeclare@iintset@i=1while@i<=100begininserttable2values(convert(varchar(50),@i),'2001-10-1',100)inserttable2values(convert(varchar(50),@i),'2001-11-1',50)set@i=@i+1endinserttable2values(convert(varchar(50),@i),'2001-10-1',90)select*fromtable2orderbyoutdate,convert(int,username)2.組合查詢語句:a.我們必須返回一個從第一天開始到100天的紀(jì)錄集:如:2001-10-1(這個日期是任意的)到2002-1-8由于第一天是任意一天,所以我們需要下面的SQL語句:selecttop100dateadd(d,convert(int,username)-1,min(outdate))asoutdatefromtable2groupbyusernameorderbyconvert(int,username)這里的奧妙在于:convert(int,username)-1(記得我們指定用戶名從1-100:-))groupbyusername,min(outdate):第一天就可能每個用戶有多個紀(jì)錄。返回的結(jié)果:outdate2001-10-0100:00:00.000……2002-01-0800:00:00.000b.返回一個所有用戶名的紀(jì)錄集:selectdistinctusernamefromtable2返回結(jié)果:username11010099c.返回一個100天記錄集和100個用戶記錄集的笛卡爾集合:select*from(selecttop100dateadd(d,convert(int,username)-1,min(outdate))asoutdatefromtable2groupbyusernameorderbyconvert(int,username))asACROSSjoin(selectdistinctusernamefromtable2)asBorderbyoutdate,convert(int,username)返回結(jié)果100*100條紀(jì)錄:outdateusername2001-10-0100:00:00.00012002-01-0800:00:00.000100d.返回當(dāng)前所有用戶在數(shù)據(jù)庫的有的紀(jì)錄:selectoutdate,username,min(cash)ascashfromtable2groupbyoutdate,usernameorderbyoutdate,convert(int,username)返回紀(jì)錄:outdateusernamecash2001-10-0100:00:00.0001902002-01-0800:00:00.00010050e.將c中返回的笛卡爾集和d中返回的紀(jì)錄做leftjoin:selectC.outdate,C.username,D.cashfrom(select*from(selecttop100dateadd(d,convert(int,username)-1,min(outdate))asoutdatefromtable2groupbyusernameorderbyconvert(int,username))asACROSSjoin(selectdistinctusernamefromtable2)asB)asCleftjoin(selectoutdate,username,min(cash)ascashfromtable2groupbyoutdate,username)asDon(C.username=D.usernameanddatediff(d,C.outdate,D.outdate)=0)orderbyC.outdate,convert(int,C.username)注意:用戶在當(dāng)天如果沒有紀(jì)錄,cash字段返回NULL,否則cash返回每個用戶當(dāng)天的余額outdateusernamecash2001-10-0100:00:00.0001902001-10-0100:00:00.00021002001-10-0200:00:00.0001902001-10-0200:00:00.0002NULL<--注意這里2002-01-0800:00:00.00010050f.好了,現(xiàn)在我們最后要做的就是,如果cash為NULL,我們要返回小于當(dāng)前紀(jì)錄日期的第一個用戶余額(由于我們使用orderbycash,所以返回top1紀(jì)錄即可,使用min應(yīng)該也可以),這個余額即為當(dāng)前的余額:caseisnull(D.cash,0)wh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫機(jī)械租賃合同范本
- 凍肉投放合同范本
- 加工制作合同范本門窗
- 產(chǎn)品推廣居間合同范本
- 加盟合同范本奶茶
- 健身收購合同范本
- 出租黃色圍擋合同范例
- 中國國家展覽中心合同范例
- 住宅租賃房屋合同范例
- 2024年溫州鹿城農(nóng)商銀行招聘筆試真題
- 2025年臨床醫(yī)師定期考核必考復(fù)習(xí)題庫及答案(900題)
- JTG5120-2021公路橋涵養(yǎng)護(hù)規(guī)范
- 2024年廣東省公務(wù)員考試《行測》真題及答案解析
- 河南省信陽市固始縣2023-2024學(xué)年四年級下學(xué)期期末數(shù)學(xué)試題
- 王淑玲《做最好的自己》讀書分享
- 主要工業(yè)產(chǎn)品統(tǒng)計指南
- 新蘇教版科學(xué)六年級下冊全冊教案(含反思)
- 深圳大學(xué)《數(shù)字信號處理》2009年期末考試試卷A卷
- 冠脈介入治療術(shù)后護(hù)理ppt課件
- BMC缺陷以及原因
- 《玉米套種柴胡栽培技術(shù)規(guī)程》
評論
0/150
提交評論