




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)查詢與視圖第1頁,共71頁,2023年,2月20日,星期六第五章數(shù)據(jù)查詢與視圖
對于數(shù)據(jù)表,我們雖然可以利用直接查詢或索引查詢的命令,查找給定條件的記錄,但是每次查找都要臨時設(shè)定查詢條件。VFP提供了利用查詢設(shè)計器創(chuàng)建查詢文件保留查詢結(jié)果,使查詢更為方便。視圖與查詢類似,它不但具有查詢功能,還可以修改查詢的數(shù)據(jù)并返回數(shù)據(jù)源。第2頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件啟動查詢設(shè)計器可以采用下面幾種方式:(1)在系統(tǒng)[文件]菜單中選擇[新建]命令,在[新建]窗口中選擇“查詢”文件類型,并選擇[新建文件]方式(另有[向?qū)方式)。(2)打開某項目文件啟動[項目管理器],在[數(shù)據(jù)]選項頁中選擇“查詢”,然后單擊[新建]按鈕彈出“新建查詢”窗口,單擊[新建查詢]方式按鈕(另有[查詢向?qū)方式按鈕)。(3)在命令窗口執(zhí)行CREATEQUERY<查詢文件名>命令。第3頁,共71頁,2023年,2月20日,星期六§5.1數(shù)據(jù)查詢§5.1.1利用查詢設(shè)計器建立查詢文件利用查詢設(shè)計器可以設(shè)置查詢的條件,并將查詢條件存儲在查詢文件.QPR中,而且還可以對查詢結(jié)果加以排序、分類,還能夠在查詢文件中將查詢存儲為圖形、報表等多種輸出格式。1.建立查詢文件利用查詢設(shè)計器建立查詢文件的過程如下:(1)選擇查詢數(shù)據(jù)源的數(shù)據(jù)庫及數(shù)據(jù)庫中的數(shù)據(jù)表或視圖;(2)選擇在查詢結(jié)果中需要輸出的字段;(3)設(shè)置查詢記錄的條件;(4)設(shè)置用排序及分組形式組織查詢結(jié)果及排序、分組的條件;(5)選擇查詢結(jié)果輸出的類別,可以是表文件、報表、瀏覽窗口等。第4頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件在啟動[查詢設(shè)計器]后,按如下步驟建立查詢文件:(1)添加表或視圖首先出現(xiàn)[添加表或視圖]窗口,可以在相應(yīng)的數(shù)據(jù)庫中選擇所需要的表或視圖,作為查詢數(shù)據(jù)源添加到查詢設(shè)計器中。[查詢設(shè)計器]被分成上下兩部分,上部分主要用于增、刪查詢所需的表或視圖;下部分主要用于對查詢進(jìn)行設(shè)置。(2)選擇查詢所需字段用來選定在查詢文件中輸出顯示的字段。在[字段]選項頁的[可用字段]列表框中選擇字段,再按[添加]按鈕添加到[選定字段]列表框中,還可以添加表達(dá)式進(jìn)行顯示。選定字段的順序就是查詢輸出的順序,可以通過左側(cè)的“上下箭頭”按鈕調(diào)整顯示順序。第5頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件步驟(3)設(shè)置數(shù)據(jù)表之間的聯(lián)接關(guān)系如果查詢涉及到多個表或視圖數(shù)據(jù)的聯(lián)接關(guān)系,可以在[聯(lián)接]選項頁中設(shè)置。(4)確定查詢條件查詢的記錄往往是滿足一定條件的記錄,這是通過設(shè)定查詢的篩選條件來實現(xiàn)。在[篩選]選項頁中,用關(guān)系表達(dá)式或邏輯表達(dá)式定義篩選條件。表達(dá)式的字段名從“字段名”下拉列表中選??;關(guān)系運算符從“條件”下拉列表中選取;查詢比較的具體值從“實例”文本框中輸入;邏輯運算符從“邏輯”下拉列表中選取;邏輯“否”可選擇“否”選項。第6頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件步驟(5)確定查詢結(jié)果排序方式對于查詢結(jié)果可以將記錄按一定順序排列。在[排序數(shù)據(jù)]選項頁中,在“選定字段”列表中選擇字段,按“升序”或“降序”排序方式添加到“排序條件”列表中,可以確定依次按幾個字段的值進(jìn)行排序。如果不設(shè)置篩選條件,在此可完成對數(shù)據(jù)表所有記錄的排序,并可將結(jié)果輸出到另一表中。(6)對查詢結(jié)果進(jìn)行分組對于查詢結(jié)果可以按指定字段依次對它們進(jìn)行分組操作。分組操作就是將同類的記錄合并、匯集到一個記錄中(同類最后一條記錄),進(jìn)行如SUM(求和)、COUNT(統(tǒng)計記錄數(shù))、AVG(求平均值)等操作。第7頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件步驟(7)設(shè)置查詢結(jié)果的輸出方式查詢結(jié)果可以輸出到報表、標(biāo)簽、圖形、表及臨時表等文件。(8)運行查詢當(dāng)查詢都設(shè)置好后,在右鍵快捷菜單或系統(tǒng)“查詢”菜單中,選擇[運行查詢]項,將執(zhí)行通過[查詢設(shè)計器]而建立的SQL語句,并將結(jié)果按設(shè)置的輸出方式輸出。(9)保存查詢文件可以在系統(tǒng)[文件]菜單中的[保存]或[另存為]選項中存儲查詢文件。當(dāng)關(guān)閉[查詢設(shè)計器]時也可以保存文件。查詢文件的擴(kuò)展名為.QPR。第8頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件2.設(shè)定查詢結(jié)果的輸出格式當(dāng)建立完查詢文件,再運行該查詢文件時,查詢結(jié)果以瀏覽格式顯示在屏幕上,這是默認(rèn)的輸出格式。利用系統(tǒng)[查詢]菜單的[查詢?nèi)ハ騗或快捷菜單的[查詢?nèi)ハ騗選項,可設(shè)定查詢結(jié)果的輸出格式。有七種輸出格式可供選擇。(1)瀏覽:結(jié)果顯示在瀏覽窗口。(2)臨時表:查詢結(jié)果存儲在暫時的只讀表文件中。(3)表:查詢結(jié)果存儲在一個表文件中,還可以將表添加到數(shù)據(jù)庫中成為數(shù)據(jù)表。(4)圖形:將查詢結(jié)果輸出為圖形文件顯示。(5)屏幕:將查詢結(jié)果輸出在屏幕,并可輸出到文本文件及打印機(jī)。(6)報表:將查詢結(jié)果輸出到報表文件中。(7)標(biāo)簽:將查詢結(jié)果輸出到標(biāo)簽文件中。第9頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件3.設(shè)定查詢結(jié)果輸出為圖形4.多重條件查詢查詢條件是在[篩選]選項頁中,針對某一字段用關(guān)系表達(dá)式來表示。若有幾個查詢條件,可以用邏輯運算符AND及OR把這幾個條件連接為邏輯表達(dá)式表示出來。例:(男工資查詢.QPR)字段名否條件實例大小寫邏輯Rsda.基本工資>=800ANDRsda.性別=“男”第10頁,共71頁,2023年,2月20日,星期六利用查詢設(shè)計器建立查詢文件5.多數(shù)據(jù)表查詢可以對多個數(shù)據(jù)表相關(guān)數(shù)據(jù)進(jìn)行同時查詢,并將各數(shù)據(jù)表查詢的相關(guān)數(shù)據(jù)同時一起輸出。首先把所有有關(guān)的表添加到查詢中,再用公共字段聯(lián)接這些表。以后再查詢所有這些表中的記錄時,就會輸出查詢所需要的信息。在查詢中可以使用數(shù)據(jù)表、自由表、本地或遠(yuǎn)程視圖的任意組合。第11頁,共71頁,2023年,2月20日,星期六創(chuàng)建多表查詢視圖1)向查詢中添加表及視圖
在查詢中添加表及視圖的步驟:(1)在[查詢設(shè)計器]工具欄中單擊[添加表]按鈕;或者在右鍵快捷菜單中選擇[添加表]命令;也可以在系統(tǒng)[查詢]菜單中選擇[添加表]命令。(2)進(jìn)入[添加表或視圖]對話框中,首先[選定]添加的是“表”或“視圖”,然后從[數(shù)據(jù)庫]下拉列表中選擇數(shù)據(jù)庫,當(dāng)選定表時從[數(shù)據(jù)庫中的表]下拉列表中選擇數(shù)據(jù)。也可以從[其他]按鈕彈出的[打開]對話框中選擇其他表和視圖。第12頁,共71頁,2023年,2月20日,星期六創(chuàng)建多表查詢視圖2)建立和修改表之間的聯(lián)接當(dāng)向查詢中添加表或視圖時,VFP會根據(jù)匹配的字段(一般是相同字段名)建議一個可能的表或視圖之間的聯(lián)接。如果使用的數(shù)據(jù)庫中已具有表或視圖之間的永久關(guān)系,VFP就利用這些已有關(guān)系作為默認(rèn)的聯(lián)接。但是,如果表或視圖相關(guān)的字段名不匹配,或者另有要求,則必須自己創(chuàng)建或修改表間的聯(lián)接。第13頁,共71頁,2023年,2月20日,星期六創(chuàng)建多表查詢視圖
創(chuàng)建表之間聯(lián)接的方法:(1)在[查詢設(shè)計器]中的上半部分,從一個表中拖動某一字段,到另一表中某一字段上,便建立了這兩個表之間的聯(lián)接,并顯示連線表示該聯(lián)接。建立聯(lián)接時應(yīng)把父表放左邊,子表放在右邊。(2)或從[查詢設(shè)計器]工具欄上選擇[添加聯(lián)接]按鈕,這時顯示出[聯(lián)接條件]對話框。在上部左、右兩個字段下拉列表中,從兩個表中各選擇相關(guān)的字段名,建立這兩個表的聯(lián)接。第14頁,共71頁,2023年,2月20日,星期六創(chuàng)建表之間聯(lián)接
左、右兩個表所建的聯(lián)接有下面四種聯(lián)接類型可供選擇:內(nèi)部聯(lián)接:(查詢)兩個表中僅滿足聯(lián)接條件的記錄,為默認(rèn)聯(lián)接類型。左聯(lián)接:(查詢)聯(lián)接條件左邊表(父表)的所有記錄和聯(lián)接條件右邊表(子表)滿足聯(lián)接條件的記錄。右聯(lián)接:(查詢)聯(lián)接條件右邊表(子表)的所有記錄和聯(lián)接條件左邊表(父表)滿足聯(lián)接條件的記錄。完全聯(lián)接:(查詢)兩個表的所有記錄、不論是否滿足聯(lián)接條件。后三種聯(lián)接類型是建立兩個表聯(lián)接字段的不精確匹配。第15頁,共71頁,2023年,2月20日,星期六創(chuàng)建和修改表之間聯(lián)接(3)也可以在[查詢設(shè)計器]的[聯(lián)接]選項頁,創(chuàng)建和修改聯(lián)接。用任何一種方法建立的表間聯(lián)接在[聯(lián)接]選項頁中都能看到,并可以對已建立的聯(lián)接進(jìn)行修改,也可以建立新聯(lián)接。從“字段名”項中選擇左表(父表)的聯(lián)接表及字段或表達(dá)式;從“值”項中選擇右表(子表)的聯(lián)接表及字段或表達(dá)式;從“類型”項中選擇聯(lián)接類型:內(nèi)部連接、左聯(lián)接、右聯(lián)接、完全聯(lián)接;從“條件”中選擇聯(lián)接的關(guān)系條件;從“邏輯”中選擇AND或OR對兩個聯(lián)接條件建立邏輯關(guān)系。第16頁,共71頁,2023年,2月20日,星期六創(chuàng)建和修改表之間聯(lián)接此外,從左邊的“上下箭頭”按鈕調(diào)整聯(lián)接條件的先后次序,從左邊的“左右箭頭”按鈕,調(diào)出[聯(lián)接條件]對話框,對聯(lián)接條件和聯(lián)接類型進(jìn)行修改。通過[插入]、[移去]按鈕插入或移去聯(lián)接。
注意:由于一個父表只能與一個子表建立聯(lián)接,一個子表也只能與一個父表聯(lián)接,在建立多個表之間的聯(lián)接時,應(yīng)采用串聯(lián)的多級聯(lián)接。另外,聯(lián)接條件與篩選條件類似,兩者都先比較值,然后選出滿足條件的記錄。不同之處在于篩選條件是將字段值與篩選值比較,而聯(lián)接條件是兩個表的聯(lián)接字段值進(jìn)行比較。第17頁,共71頁,2023年,2月20日,星期六創(chuàng)建和修改表之間聯(lián)接3)修改和刪除聯(lián)接修改聯(lián)接的步驟與創(chuàng)建聯(lián)接類似。刪除聯(lián)接,可以在[查詢設(shè)計器]中單擊選定聯(lián)接線(變粗),再從[查詢]菜單中選擇[移去聯(lián)接條件];或者在選定聯(lián)接線后,按DEL鍵;也可以在[聯(lián)接]選項卡中選擇聯(lián)接“條件”,然后選擇[移去]按鈕。第18頁,共71頁,2023年,2月20日,星期六創(chuàng)建多數(shù)據(jù)表查詢4)多數(shù)據(jù)表查詢舉例(見“學(xué)生多表查詢.QPR”)對數(shù)據(jù)表XSDA.DBF(學(xué)生檔案):學(xué)號、姓名、性別;GKCJ.DBF(各科成績):學(xué)號、英語、計算機(jī);XXCJ.DBF(選修成績):學(xué)號、課程、成績。查詢每個學(xué)生的各科成績及選修課成績。輸出字段選擇:XSDA.學(xué)號;XSDA.姓名;XSDA.性別;GKCJ.英語;GKCJ.計算機(jī);XXCJ.課程;XXCJ.成績。聯(lián)接條件:類型字段名條件值邏輯(左聯(lián)接)LiftOutrJoinXSDA.學(xué)號=GKCJ.學(xué)號(左聯(lián)接)LiftOutrJoinGKCJ.學(xué)號=XXCJ.學(xué)號第19頁,共71頁,2023年,2月20日,星期六6.分組查詢舉例分組是將同類記錄合并、匯集到一條記錄中,并對同類記錄進(jìn)行運算和操作。例:對RSDA.DBF人事檔案數(shù)據(jù)表,分別查詢男、女及結(jié)婚、未婚的基本工資合計。(見“男女工資查詢.QRP”)輸出字段:RSDA.編號,RSDA.性別,RSDA.婚否,RSDA.基本工資,SUM(RSDA.基本工資)。分組字段:RSDA.性別,RSDA.婚否。查詢結(jié)果:(見查詢輸出)第20頁,共71頁,2023年,2月20日,星期六7.查詢文件的維護(hù)1)執(zhí)行查詢(1)在[查詢設(shè)計器]中,選擇系統(tǒng)[查詢]菜單的[運行查詢]命令,或右鍵快捷菜單的[運行查詢]命令。(2)打開某項目在[項目管理器]中,選擇某數(shù)據(jù)庫并將其展開,選擇該數(shù)據(jù)庫的某查詢,再選擇[運行]按鈕。(3)在命令方式或程序方式用DO<查詢文件>命令執(zhí)行查詢文件。2)修改查詢文件在[項目管理器]中選擇查詢文件,再單擊[修改]按鈕,便可進(jìn)入[查詢設(shè)計器]進(jìn)行修改。第21頁,共71頁,2023年,2月20日,星期六查詢文件的維護(hù)3)查看查詢文件用[查詢設(shè)計器]創(chuàng)建的查詢,最后轉(zhuǎn)換為SQL查詢命令存儲在.QRP查詢文件中。查詢文件中并不包含查詢結(jié)果,而是執(zhí)行查詢文件時,查詢數(shù)據(jù)表或視圖產(chǎn)生查詢結(jié)果。在[查詢設(shè)計器]中,選擇系統(tǒng)[查詢]菜單的[查看SQL]命令,或選擇[查詢設(shè)計器]工具欄的[SQL]按鈕,可以查看查詢文件中的SQL命令。(只讀方式,但可以復(fù)制)第22頁,共71頁,2023年,2月20日,星期六查詢文件的維護(hù)4)為查詢文件加注釋在[查詢設(shè)計器]窗口,選擇系統(tǒng)[查詢]菜單的[備注]命令,出現(xiàn)[備注]對話框,即可加注釋。所加注釋以注釋語句寫到查詢文件中。第23頁,共71頁,2023年,2月20日,星期六§5.1.2利用查詢向?qū)Ы⒉樵兾募保畣硬樵兿驅(qū)Э梢杂萌N方法啟動查詢向?qū)В海保捻椖抗芾砥髦袉硬樵兿驅(qū)г陧椖抗芾砥鱗數(shù)據(jù)]選項中,選中“查詢”再單擊[新建]按鈕,出現(xiàn)[新建查詢]對話框,單擊其中的[查詢向?qū)按鈕。在查詢向?qū)е杏腥N選擇:(1)查詢向?qū)В簞?chuàng)建一個標(biāo)準(zhǔn)查詢。(2)交叉表格查詢:創(chuàng)建的查詢用電子數(shù)據(jù)表格形式顯示。(3)圖形向?qū)В涸贛icrosoftGraph中創(chuàng)建VFP表中數(shù)據(jù)的圖形。第24頁,共71頁,2023年,2月20日,星期六利用查詢向?qū)Ы⒉樵兾募玻├孟到y(tǒng)[工具]菜單啟動查詢向?qū)г谙到y(tǒng)[工具]菜單中,選擇[向?qū)下級菜單,選擇“查詢”后進(jìn)入[向?qū)нx取]對話框。有五種向?qū)Э蛇x擇,這里除了前面的三種向?qū)庥衷黾恿藘煞N向?qū)В海ǎ保┍镜匾晥D向?qū)В河帽镜財?shù)據(jù)創(chuàng)建視圖。(2)遠(yuǎn)程視圖向?qū)В河眠h(yuǎn)程數(shù)據(jù)創(chuàng)建視圖。這實際是兩個視圖向?qū)?。3)利用新建命令啟動查詢向?qū)г谙到y(tǒng)[文件]菜單中,選擇[新建]命令;或在系統(tǒng)工具欄中選擇[新建]按鈕。出現(xiàn)[新建]對話框,在“文件類型”中選擇[查詢],再單擊[向?qū)對話框。出現(xiàn)[向?qū)нx取]對話框,選擇[查詢向?qū)。第25頁,共71頁,2023年,2月20日,星期六利用查詢向?qū)Ы⒉樵兾募玻貌樵兿驅(qū)гO(shè)計查詢文件1)選擇數(shù)據(jù)源在向?qū)步驟1-字段選取]對話框中,選擇數(shù)據(jù)庫及庫中的數(shù)據(jù)表和視圖,以及自由表作為數(shù)據(jù)源。首先從一個表或視圖中選擇字段并移到“選定字段”框中,作為查詢的輸出字段??梢砸来芜x擇多個表或視圖中的字段,進(jìn)行多表查詢。2)建立表間聯(lián)接如果是多表查詢就進(jìn)入[步驟2-為表建立關(guān)系],分別從左邊下拉列表中選擇父表聯(lián)接字段,從右邊下拉列表選擇子表聯(lián)接字段,再通過[添加]按鈕將聯(lián)接添加到查詢文件中。第26頁,共71頁,2023年,2月20日,星期六利用查詢向?qū)Ы⒉樵兾募常┌涗泦螕粝乱徊竭M(jìn)入[步驟2a—記錄選取]對話框,在此選擇聯(lián)接類型,可以從四種聯(lián)接類型中選擇一種。僅包含匹配的行—-內(nèi)部聯(lián)接(父)表中所有行——左聯(lián)接(顯示父表名)(子)表中所有行——右聯(lián)接(顯示子表名)兩張表中的所有行——完全聯(lián)接第27頁,共71頁,2023年,2月20日,星期六利用查詢向?qū)Ы⒉樵兾募矗┖Y選記錄向?qū)步驟3—篩選記錄],設(shè)置查詢篩選條件。分別通過“字段”、“操作符”、“值”框及“與”、“或”單選按鈕,建立關(guān)系表達(dá)式及邏輯表達(dá)式,作為篩選條件。5)確定排序次序
[步驟4—排序記錄]確定輸出的排序順序,可以依次選定排序字段及升、降序。第28頁,共71頁,2023年,2月20日,星期六利用查詢向?qū)Ы⒉樵兾募叮┫拗朴涗浫绻幌M樵冿@示整個表的所有記錄??稍赱步驟4a—限制記錄]中,選擇部分記錄顯示,只有選擇了排序次序后,才能在排序的結(jié)果中顯示部分記錄。在“部分類型”中可選擇,是按“所占記錄百分比”選擇“數(shù)量”,還是按“記錄號”選擇“數(shù)量”。在“數(shù)量”單選框中,有“所有記錄”和“部分值”的選擇,在選擇“部分值”后可以給出數(shù)量。通過查詢向?qū)?chuàng)建的查詢文件,可以在[查詢設(shè)計器]中,進(jìn)行進(jìn)一步的詳細(xì)修改。第29頁,共71頁,2023年,2月20日,星期六利用查詢向?qū)Ы⒉樵兾募常徊姹砀裣驅(qū)Ы徊姹碇忻恳粋€數(shù)據(jù)視為行、列交叉點上,該數(shù)據(jù)的含義取決于行、列含義及所屬行、列位置,(例如課程表)。它類似Excel電子表格的形式。設(shè)計交叉表的數(shù)據(jù)源一般應(yīng)具有兩個字符字段,作為交叉表的行、列標(biāo)題;另有一個數(shù)值字段。作為交叉表的數(shù)據(jù)或進(jìn)行某種運算的數(shù)據(jù)源(也允許為其它類型的字段)。第30頁,共71頁,2023年,2月20日,星期六利用查詢交叉表格向?qū)Ы⒉樵兾募ǎ保┻x擇字段確定交叉表查詢中所需的字段。從[步驟1—字段選取]對話框中,選擇數(shù)據(jù)庫或自由表,從中選擇表和視圖,然后選擇所需字段。(2)設(shè)置交叉表布局從[步驟2—定義布局]對話框中,確定交叉表查詢的布局。將“可用字段”中的字段分別拖至交叉表的[行]、[列]、[數(shù)據(jù)]框中。第31頁,共71頁,2023年,2月20日,星期六利用查詢交叉表格向?qū)Ы⒉樵兾募ǎ常榻徊姹硖砑臃诸悈R總列從[步驟3—加入總結(jié)信息]對話框中,確定是否需要為交叉表添加分類匯總列,選擇每行所需的總計類型。匯總結(jié)果在交叉表查詢輸出的最后一列顯示。其中“總結(jié)”單選框中為統(tǒng)計類型,有求和、計數(shù)、平均值、最大值和最小值五種?!胺诸悈R總”單選框中提供四種匯總選項:數(shù)據(jù)求和:對表中每行數(shù)據(jù)求和。包含數(shù)據(jù)的單元格數(shù)目:統(tǒng)計每行有多少單元格中有數(shù)據(jù)。占整個表總計的百分比:計算每行數(shù)據(jù)的總和,占整個表數(shù)據(jù)總和的百分比。無:不進(jìn)行統(tǒng)計,不出現(xiàn)統(tǒng)計列。第32頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立查詢文件§5.1.3利用SQL—SELECT查詢語句建立查詢文件SQL(StructuredQueryLanguage)是結(jié)構(gòu)化查詢語言,它可以嵌入到其它高級語言的程序中,已由美國國家標(biāo)準(zhǔn)局批準(zhǔn)為關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)。SQL的主要功能就是對數(shù)據(jù)表和視圖的查詢,特別是對于多個數(shù)據(jù)表或視圖之間的數(shù)據(jù)查詢。這是通過一條SELECT查詢語句來完成。一個查詢文件中就是包含一條SELECT語句,它也可以放到程序中。在[查詢設(shè)計器中]通過查詢的設(shè)置,系統(tǒng)轉(zhuǎn)化為一條SELECT語句寫到查詢文件中(.QPR)。第33頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立查詢文件1.SELECT語句的基本格式在SELECT語句中要說明查詢輸出的字段和數(shù)據(jù)源。[格式]SELECT[<表別名.>]<字段名1>[AS<標(biāo)題>][,[<表別名.><字段名2>[AS<標(biāo)題>],…]FROM[<數(shù)據(jù)庫名>!]<表名>
說明:(1)“字段名”為查詢的數(shù)據(jù)表、自由表及視圖所輸出的字段名;“表別名”為打開表所定義的別名,默認(rèn)為表文件名;“標(biāo)題”是代替字段名作為欄目名輸出。如果輸出某表的所有字段可用*表示這些字段。(2)FROM短語表示出數(shù)據(jù)源,如果是數(shù)據(jù)表在表名前以
<數(shù)據(jù)庫名>!的格式表示。例:SELECTRsda.編號,Rsda.姓名,Rsda.性別FROM人事管理!rsda第34頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立查詢文件2.篩選記錄用WHERE短語定義篩選條件。[格式]WHERE<條件表達(dá)式>說明:條件表達(dá)式一般用關(guān)系表達(dá)式或邏輯表達(dá)式表示。(見“男工資查詢.QPR”)例:SELECT*
FROM人事管理!rsdaWHERERsda.基本工資>=800ANDRsda.性別=”男”第35頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立查詢文件3.排序記錄用ORDERBY短語定義排序字段。[格式]ORDERBY<字段1>[ASC|DESC][,<字段2>[ASC|DESC]…]說明:ASC為升序,DESC為降序,默認(rèn)為升序。(見“男工資查詢.QPR”)例:SELECT*
FROM人事管理!rsdaORDERBYRsda.基本工資第36頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立查詢文件4.對查詢分組用GROUPBY短語定義查詢分組。[格式]GROUPBY<字段1>[,<字段2>,…][HAVING<條件表達(dá)式>]說明:按指定字段進(jìn)行分組、匯總。在分組時如果包含條件,用HAVING后的關(guān)系表達(dá)式或邏輯表達(dá)式表示。(見“男女工資查詢.QPR”)例:SELECTRsda.編號,Rsda.性別,Rsda.婚否,Rsda.基本工資,SUM(Rsda.基本工資)AS“工資合計”
FROM人事管理!rsdaGROUPBYRsda.性別,Rsda.婚否HAVINGRsda.基本工資>=500第37頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立查詢文件5.多表聯(lián)接查詢多表查詢要在FROM短語中,對數(shù)據(jù)源定義表之間的聯(lián)接類型,在ON短語中定義聯(lián)接條件。[格式]FROM[<數(shù)據(jù)庫名>!]<主表名><聯(lián)接類型><聯(lián)接子表名>[<聯(lián)接類型><聯(lián)接子表名>…]ON<聯(lián)接條件表達(dá)式><聯(lián)接條件表達(dá)式>…]說明:(1)在多表聯(lián)接時,一個父表只能聯(lián)接一個子表,同樣一個子也只能被一個父表所聯(lián)接,形成串聯(lián)聯(lián)接。因此,在FROM<主表名>后,依次給出每一個聯(lián)接的聯(lián)接類型和聯(lián)接子表名。(2)每一個聯(lián)接要用一個ON短語的<聯(lián)接條件表達(dá)式>指定聯(lián)接條件。指定聯(lián)接條件的順序應(yīng)與聯(lián)接的順序相反。第38頁,共71頁,2023年,2月20日,星期六多表聯(lián)接查詢舉例例:*查詢每個學(xué)生的各課程績及選修課成績(“學(xué)生多表查詢.QPR”)SELECTXsda.*,Gkcj.英語,Gkcj.計算機(jī),Xxcj.課程,Xxcj.成績;FROM學(xué)生管理!xsdaLEFTOUTERJOIN學(xué)生管理!gkcj;LEFTOUTERJOIN學(xué)生管理!xxcj;ONGkcj.學(xué)號=Xxcj.學(xué)號;ONXsda.學(xué)號=Gkcj.學(xué)號;WHEREGkcj.英語>=60;ANDGkcj.計算機(jī)>=60;ORDERBYXsda.學(xué)號第39頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立多表聯(lián)接查詢(3)聯(lián)接類型InnerJoin——
內(nèi)部聯(lián)接LeftOuterJoin——左聯(lián)接RightOuterJoin——右聯(lián)接FullJoin——完全聯(lián)接第40頁,共71頁,2023年,2月20日,星期六利用SQL查詢語句建立查詢文件6.查詢結(jié)果輸出方式查詢輸出默認(rèn)到瀏覽窗口。用INTO短語定義查詢結(jié)果輸出方式。(1)[格式]INTOCURSOR<臨時表名>(輸出到臨時表)|TABLE<表名>(輸出到自由表)(2)[格式]TOFILE<文本文件名>(輸出到文本文件)|TOPRINTER(輸出到打印機(jī))|TOSCREEN(輸出到主窗口)第41頁,共71頁,2023年,2月20日,星期六§5.2創(chuàng)建和使用視圖查詢的運行結(jié)果是只讀的,只能顯示不能修改。視圖與查詢類似,根據(jù)要求可以從表中提取符合條件的一組記錄,但是視圖可以改變這些記錄的值,并把更新的結(jié)果送回到源表中。視圖兼有查詢和表的特點:與查詢相類似的是,可以從一個或多個相關(guān)聯(lián)的表中提取符合條件的數(shù)據(jù);與表相類似的是,可以更新其中的數(shù)據(jù),并將更新結(jié)果永久保存在磁盤上。視圖屬于數(shù)據(jù)庫的一部分保含在數(shù)據(jù)庫文件中,因此只有打開對應(yīng)的數(shù)據(jù)庫,才能使用視圖。第42頁,共71頁,2023年,2月20日,星期六創(chuàng)建和使用視圖視圖可分為本地視圖和遠(yuǎn)程視圖。本地視圖是從本地VFP表或其他視圖中提取數(shù)據(jù);遠(yuǎn)程視圖是從遠(yuǎn)程ODBC服務(wù)器上提取數(shù)據(jù)。(ODBC即OpenDataConnectivity開放式數(shù)據(jù)互連)可以將遠(yuǎn)程視圖添加到本地視圖中,這樣就可以在同一視圖中同時訪問VFP數(shù)據(jù)和遠(yuǎn)程ODBC數(shù)據(jù)源中的數(shù)據(jù)。由于視圖與查詢有很多類似之處,創(chuàng)建視圖與創(chuàng)建查詢的步驟也相似??梢杂靡晥D向?qū)Ш鸵晥D設(shè)計器創(chuàng)建視圖。第43頁,共71頁,2023年,2月20日,星期六使用[本地視圖向?qū)創(chuàng)建視圖§5.2.1用[視圖向?qū)創(chuàng)建本地視圖因為視圖必須包含在數(shù)據(jù)庫中,因此在創(chuàng)建視圖前應(yīng)打開數(shù)據(jù)庫。我們可以在項目管理器中,打開數(shù)據(jù)庫,創(chuàng)建視圖。1.啟動視圖向?qū)Т蜷_一個項目文件進(jìn)入[項目管理器],從中選擇一個數(shù)據(jù)庫,在數(shù)據(jù)庫項之下選擇[本地視圖]選項。選擇項目管理器的[新建]按鈕,在彈出的[新建]對話框中選擇[視圖向?qū)按鈕,即進(jìn)入[本地視圖向?qū)。也可以用[文件]菜單的[新建]選項或選用[工具]菜單中的[向?qū)選項來啟動[本地視圖向?qū)。第44頁,共71頁,2023年,2月20日,星期六使用[本地視圖向?qū)創(chuàng)建視圖2.使用[本地視圖向?qū)
可以從一個或多個表及視圖中選取字段包含在視圖中。(1)選擇表或視圖字段步驟1,在對話框中選擇創(chuàng)建本地視圖的源表或源視圖文件,將要在視圖中輸出、編輯的字段,從[可用字段]列表框中移到[選定字段]列表框。(2)為多表建立關(guān)系在使用多表創(chuàng)建視圖時,要建立表之間的關(guān)系,對于單表視圖則不需要這一步。步驟2,在每兩個表之間選擇匹配字段建立表間關(guān)系,并將每一個關(guān)系通過[添加]按鈕加入到關(guān)系列表中。第45頁,共71頁,2023年,2月20日,星期六使用[本地視圖向?qū)創(chuàng)建視圖(3)篩選記錄如果在視圖中僅顯示表中的部分記錄,在步驟3建立篩選記錄的關(guān)系表達(dá)式及邏輯表達(dá)式。在這一步按[預(yù)覽]按鈕,可以預(yù)覽視圖的輸出結(jié)果。(4)對記錄排序步驟4可以在視圖中對記錄排序,[可用字段]列表框中為視圖的輸出字段,從中選擇用于對視圖排序的字段,選擇升序或降序通過[添加]按鈕添加到[選定字段]列表框中。最多可以選擇三個字段用于排序。在下一步的步驟4a,可以通過[所占記錄百分比]和[記錄號]兩種方式來限制視圖輸出的記錄數(shù)目。通過[預(yù)覽]按鈕可以預(yù)覽視圖輸出。第46頁,共71頁,2023年,2月20日,星期六使用[本地視圖向?qū)創(chuàng)建視圖(5)保存視圖最后一步是完成,在此給出三種保存視圖的方式:保存本地視圖;保存本地視圖并瀏覽;保存本地視圖并在[視圖設(shè)計器]中修改。保存視圖后,新視圖的名稱將顯示在[項目管理器]中。如果打開[數(shù)據(jù)庫設(shè)計器],可以看到視圖的字段列表。第47頁,共71頁,2023年,2月20日,星期六使用[視圖設(shè)計器]創(chuàng)建視圖§5.2.2視圖設(shè)計器利用[視圖設(shè)計器]可以創(chuàng)建視圖,也可以修改視圖。[視圖設(shè)計器]與[查詢設(shè)計器]非常相似,只是增加了[更新條件]選項頁,其它[字段]、[聯(lián)接]、[篩選]、[排序依據(jù)]、[分組依據(jù)]及[雜項]選項頁都是一致的。1.啟動視圖設(shè)計器在[項目管理器]中指定一個數(shù)據(jù)庫,選擇[本地視圖],單擊[新建]按鈕。在[新建本地視圖]對話框選擇[新建視圖],則啟動[視圖設(shè)計器]。第48頁,共71頁,2023年,2月20日,星期六使用[視圖設(shè)計器]創(chuàng)建視圖2.添加表或視圖進(jìn)入[視圖設(shè)計器]后,彈出[添加表或視圖]對話框。選擇添加[表]或[視圖]單選按鈕。在[數(shù)據(jù)庫]及[數(shù)據(jù)庫中的表(視圖)]列表框可以選擇數(shù)據(jù)庫、表及視圖。按[其它]按鈕可添加自由表。此外,在任何時候都可以在[查詢]菜單上選擇[添加表]選項,或單擊[視圖設(shè)計器]工具欄上的[添加表]按鈕,都可以進(jìn)入[添加表或視圖]對話框來添加表或視圖。第49頁,共71頁,2023年,2月20日,星期六使用[視圖設(shè)計器]創(chuàng)建視圖3.選擇字段指定視圖中輸出的字段或函數(shù)及表達(dá)式。在[字段]選項頁中,從[可用字段]列表框中選擇字段,或者在[函數(shù)和表達(dá)式]組合框中指定函數(shù)和表達(dá)式作為輸出的一部分。單擊[添加]按鈕,把字段或表達(dá)式放在[選定輸出]列表框中。4.建立表間的聯(lián)接條件聯(lián)接條件是多表或視圖之間的聯(lián)接關(guān)系,是根據(jù)表或視圖匹配的字段,用關(guān)系表達(dá)式或邏輯表達(dá)式設(shè)置。可以在[聯(lián)接條件]對話框或[聯(lián)接]選項頁中設(shè)置。聯(lián)接類型分:內(nèi)部聯(lián)接、左聯(lián)接、右聯(lián)接和外部聯(lián)接。第50頁,共71頁,2023年,2月20日,星期六使用[視圖設(shè)計器]創(chuàng)建視圖5.篩選記錄在[篩選]選項頁中指定篩選記錄的條件,用關(guān)系表達(dá)式或邏輯表達(dá)式設(shè)置篩選記錄的條件。6.設(shè)置排序依據(jù)在[排序依據(jù)]選項頁,從[選定字段]列表框中選擇排序字段,并按“升序”或“降序”加到[排序條件]列表框中。便可以建立視圖輸出的排序順序。第51頁,共71頁,2023年,2月20日,星期六使用[視圖設(shè)計器]創(chuàng)建視圖7.設(shè)置分組依據(jù)分組就是將同類的記錄合并匯總到一個記錄中,這樣就可以完成基于一組記錄的計算,運算在設(shè)置輸出字段時用函數(shù)或表達(dá)式設(shè)置。在[分組依據(jù)]選項頁中,從[可用字段]列表框中依次選擇字段加入到[分組字段]列表框中,視圖將以選定字段進(jìn)行分組。另外,通過[滿足條件]按鈕,可以為分組設(shè)置篩選條件,僅選擇滿足條件的組輸出。第52頁,共71頁,2023年,2月20日,星期六使用[視圖設(shè)計器]創(chuàng)建視圖8.設(shè)置更新條件
[視圖設(shè)計器]比[查詢設(shè)計器]增加了[更新條件]選項頁,因為視圖可以修改源表的數(shù)據(jù)。利用[更新條件]選項頁可以設(shè)置可更新的表、字段和更新方式。(1)“表”下拉列表框:選擇允許修改的表。第53頁,共71頁,2023年,2月20日,星期六在[視圖設(shè)計器]設(shè)置更新條件(2)“字段名”列表框:視圖是通過關(guān)鍵字段,使在視圖中所做的修改與數(shù)據(jù)源表中的記錄相對應(yīng),以修改源表。關(guān)鍵字段必須能唯一標(biāo)識在源表中所更新的記錄。如果用一個字段不能唯一標(biāo)識源數(shù)據(jù)表更新的記錄,可以選擇多個關(guān)鍵字段。
“字段名”列表框左側(cè),有一個“關(guān)鍵字段”(Key)復(fù)選按鈕列,和一個“可更新”(寫)復(fù)選按鈕列。分別可以選擇關(guān)鍵字段和可更新字段。在視圖中只有設(shè)置為可更新字段后,修改的值才能返回到源表中,否則只在視圖中顯示。第54頁,共71頁,2023年,2月20日,星期六在[視圖設(shè)計器]設(shè)置更新條件(3)“重置關(guān)鍵字”按鈕:當(dāng)在[視圖設(shè)計器]中首次打開一個表時,[更新條件]選項頁會顯示出表中某些字段被定義為關(guān)鍵字段及可更新字段,如果已經(jīng)改變了關(guān)鍵字段或可更新字段,而又想把它們恢復(fù)到源表的初始設(shè)置,可選擇[重置關(guān)鍵字],則所有已被改變的所有標(biāo)記都去除了。(4)“全部更新”按鈕:將所有字段都設(shè)定為可更新字段,但是關(guān)鍵字段需要設(shè)置為可更新字段時,則要單獨設(shè)置。第55頁,共71頁,2023年,2月20日,星期六在[視圖設(shè)計器]設(shè)置更新條件(5)“發(fā)送更新”復(fù)選框:設(shè)置將修改結(jié)果傳送回源表,否則視圖中的修改對源表的數(shù)據(jù)沒有影響。此外,為了使對視圖的修改數(shù)據(jù)能回送到源表中,還必須對視圖設(shè)置至少一個關(guān)鍵字段和一個可修改字段。如果為視圖選擇的表中有一個主關(guān)鍵字段,而且字段已設(shè)置為視圖的輸出字段,則[視圖設(shè)計器]自動使用主關(guān)鍵字段作為視圖的關(guān)鍵字段。第56頁,共71頁,2023年,2月20日,星期六在[視圖設(shè)計器]設(shè)置更新條件*(6)“SQLWHERE字句”單選框:
VFP可以將遠(yuǎn)程視圖添加到本地視圖中,從而可以訪問遠(yuǎn)程服務(wù)器上的ODBC數(shù)據(jù)。在多用戶網(wǎng)絡(luò)環(huán)境中,共享數(shù)據(jù)存放在服務(wù)器上,當(dāng)我們想對遠(yuǎn)程服務(wù)器上的數(shù)據(jù)進(jìn)行更新的同時,有可能別人也試圖對表中數(shù)據(jù)進(jìn)行修改,這就可能發(fā)生沖突。第57頁,共71頁,2023年,2月20日,星期六“SQLWHERE字句”單選框沖突可以通過檢測服務(wù)器上表中的數(shù)據(jù)被發(fā)現(xiàn),當(dāng)視圖中的數(shù)據(jù)與源表當(dāng)前值相同,則認(rèn)為源表數(shù)據(jù)未被修改,不存在沖突;如果它們不相同,則存在沖突,數(shù)據(jù)源返回一條錯誤信息。VFP允許用戶進(jìn)行設(shè)置決定哪些字段的更新在發(fā)生沖突時被認(rèn)為更新失敗,即數(shù)據(jù)被提取到視圖中后,如果被別的用戶修改,則不允許更新操作。第58頁,共71頁,2023年,2月20日,星期六“SQLWHERE字句”單選框
本地視圖和查詢類似,是利用SQL語句從表或其它視圖中訪問數(shù)據(jù)。在[本地視圖設(shè)計器]的[更新條件]選項頁中,可以對發(fā)生沖突時的更新進(jìn)行設(shè)置,而這些設(shè)置使某些字段包含在UPDATAE(修改)和DELETE(刪除)等語句的WHERE子句中。WHERE子句將控制哪些字段的更新在沖突時使更新失敗。第59頁,共71頁,2023年,2月20日,星期六“SQLWHERE字句”單選框
[SQLWHER子句包括]中有四種選擇:關(guān)鍵字段:比較視圖與遠(yuǎn)程數(shù)據(jù)源中的關(guān)鍵字段,當(dāng)源表中的關(guān)鍵字段被改變時,使更新失敗。關(guān)鍵字和可更新字段:當(dāng)遠(yuǎn)程表中關(guān)鍵字段或已設(shè)置為可更新字段的任一字段被改變時,使更新失敗。關(guān)鍵字和已修改字段:當(dāng)在本地視圖改變的任一字段,在源表中已被改變時,便更新失敗。關(guān)鍵字和時間戳:比較遠(yuǎn)程數(shù)據(jù)源的當(dāng)前時間戳與數(shù)據(jù)提取到視圖時的時間戳,當(dāng)遠(yuǎn)程表上記錄的時間戳在首次訪問之后被改變時,使更新失敗。只有當(dāng)遠(yuǎn)程表有時間戳這一項時才有效。第60頁,共71頁,2023年,2月20日,星期六在[視圖設(shè)計器]設(shè)置更新條件(7)“使用更新”單選框設(shè)置當(dāng)視圖中關(guān)鍵字段的數(shù)據(jù)修改后,采用何種方法在服務(wù)器上對此記錄進(jìn)行更新,即使用何種SQL語句進(jìn)行更新。SQL
DELETE然后INSERT:當(dāng)修改數(shù)據(jù)時,先刪除服務(wù)器源表相應(yīng)記錄,再插入新的記錄。SQL
UPDATAE
:直接使用UPDATAE語句修改服務(wù)器源表相應(yīng)記錄。9.[雜項]選項頁用于確定是否包含重復(fù)記錄、交叉數(shù)據(jù)表以及顯示記錄的數(shù)目等。第61頁,共71頁,2023年,2月20日,星期六§5.2.3利用代碼創(chuàng)建視圖1.創(chuàng)建本地視圖用視圖設(shè)計器創(chuàng)建的視圖是轉(zhuǎn)換成SQL語句存放在相應(yīng)的數(shù)據(jù)庫視圖中我們也可以使用命令或程序創(chuàng)建本地視圖。[命令格式]CREATESQLVIEW<視圖名>AS<SQLSELETE語句>說明:命令中<SQLSELETE語句>對所創(chuàng)建的視圖用SQLSELETE進(jìn)行定義,SELETE語句的使用同查詢中的SELETE語句。在創(chuàng)建本地視圖之前應(yīng)該打開相應(yīng)的數(shù)據(jù)庫,因為本地視圖創(chuàng)建在數(shù)據(jù)庫中。第62頁,共71頁,2023年,2月20日,星期六利用代碼創(chuàng)建視圖舉例例:創(chuàng)建名為<學(xué)生成績視圖>的本地視圖OPENDATABASE學(xué)生管理.DBCCREATESQLVIEW
學(xué)生成績視圖;ASSELECT*
;FROM學(xué)生管理!xsda;
INNERJOIN學(xué)生管理!gkcj;
ONXsda.學(xué)號=Gkcj.學(xué)號;WHEREGkcj.英語>=60;ANDGkcj.計算機(jī)>=60第63頁,共71頁,2023年,2月20日,星期六利用代碼創(chuàng)建視圖2.修改視圖在數(shù)據(jù)庫中創(chuàng)建的,視圖的
SQLSELETE
語句代碼,在視圖設(shè)計器中在可以看到但無法修改。只能在[視圖設(shè)計器]的各選項頁中修改視圖。我們可以用命令方式進(jìn)入[視圖設(shè)計器]修改視圖,在此之前應(yīng)打開相應(yīng)的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子信息行業(yè)新型顯示技術(shù)與創(chuàng)新應(yīng)用方案
- 三農(nóng)村電商三農(nóng)村物流配送優(yōu)化方案
- 包裝材料多層復(fù)合技術(shù)要求
- 家具美容行業(yè)運營方案
- 智慧社交媒體:打造智能化社交網(wǎng)絡(luò)的方案
- 膽囊癌的治療及護(hù)理
- 2025年中考地理模擬試卷及答案-地理信息系統(tǒng)在環(huán)境監(jiān)測中的應(yīng)用試題
- 2025年造價工程師案例分析模擬試卷:建筑工程造價咨詢業(yè)務(wù)合同管理合同變更管理試題
- 2025年咖啡師職業(yè)技能測試卷:咖啡店運營管理與品牌建設(shè)試題
- 2025年消防安全知識培訓(xùn)考試題庫:消防設(shè)施設(shè)備選型與消防應(yīng)急處理試題
- 貝雷橋吊裝專項方案(危大工程吊裝方案)
- 昌江縣燕窩嶺水泥用石灰?guī)r礦礦產(chǎn)資源開發(fā)利用與保護(hù)方案
- 2024年《認(rèn)證基礎(chǔ)》真題及答案
- ZHF形勢與政策(2024年秋)-考試題庫
- 淤地壩應(yīng)急處置
- 鸚鵡介紹課件教學(xué)課件
- 汽車檢測技術(shù)課件 任務(wù)一 認(rèn)識汽車檢測站
- 貴州省2025年初中學(xué)業(yè)水平考試英語 模擬試題卷(一)(含答案不含聽力原文及聽力音頻)
- 電力系統(tǒng)運行維護(hù)預(yù)案
- GB/T 44561-2024石油天然氣工業(yè)常規(guī)陸上接收站液化天然氣裝卸臂的設(shè)計與測試
- 2024年國家公務(wù)員考試《行測》真題卷(副省級)答案及解析
評論
0/150
提交評論