基本的SQLSELECT語句的學(xué)習(xí)教案_第1頁
基本的SQLSELECT語句的學(xué)習(xí)教案_第2頁
基本的SQLSELECT語句的學(xué)習(xí)教案_第3頁
基本的SQLSELECT語句的學(xué)習(xí)教案_第4頁
基本的SQLSELECT語句的學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基本的SQLSELECT語句的學(xué)習(xí)教案第1頁/共19頁基本的SQLSELECT語句2023/3/26本節(jié)內(nèi)容:區(qū)分RDBMS和ORDBMS 識別SELECT語句中的關(guān)鍵字、必需的子句以及可選子句。選擇和查看一個(gè)表的所有列選擇和查看一個(gè)表的一列顯示一個(gè)表的多個(gè)列使用列別名說明一個(gè)特定列的內(nèi)容在SELECT子句中執(zhí)行基本的算術(shù)運(yùn)算使用DISTINCT或UNIQUE關(guān)鍵字刪除重復(fù)列合并字段、文字值和其他數(shù)據(jù)第2頁/共19頁基本的SQLSELECT語句2023/3/26DBMS,是一個(gè)通用術(shù)語,適用于允許用戶與數(shù)據(jù)庫進(jìn)行交互的軟件。但是,當(dāng)你使用關(guān)系數(shù)據(jù)庫時(shí),DBMS軟件被視為一個(gè)“關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)”。RDBMS是用來創(chuàng)建數(shù)據(jù)庫的軟件程序,它允許你輸入、處理和檢索數(shù)據(jù)。Oracle9i不僅可以用來引用單個(gè)數(shù)據(jù)元素,還可以引用對象(由單個(gè)數(shù)據(jù)元素組成),所以它是一個(gè)“對象關(guān)系數(shù)據(jù)庫管理系統(tǒng)”(ORDBMS)。本課程的數(shù)據(jù)庫中存儲的數(shù)據(jù)是由簡單字母數(shù)據(jù)字符組成,所以例子和概念也適用于RDBMS,對象的使用通常是在高級應(yīng)用程序開發(fā)課程中介紹的。第3頁/共19頁SELECT語句的語法2023/3/26SELECT[DISTINC|UNIQUE](*,columnname[ASalias],…)FROMtablename[WHEREcondition][GROUPBYgroup_by_expression][HAVINGgroup_condition][ORDERBYcolumnname];使用了大寫字母的單詞(SELECT,F(xiàn)ROM,WHERE等)是關(guān)鍵字,關(guān)鍵字開始的每一部份都稱為一個(gè)子句。SELECT語句的要點(diǎn)以下幾點(diǎn):SELECT語句必需的子句只有SELECT和FROM方括號表示可選部分可以在幾行或一行上輸入SQL語句。大多數(shù)SQL語句的輸入方式都市一個(gè)子句占據(jù)單獨(dú)的一行,以便提高可讀性,并且使用編輯變得更容易。要想在輸入SQL語句之后執(zhí)行它,有兩個(gè)選擇,通常,SQL語句是通過在于語句的最后一行輸入一個(gè)分號(;)來執(zhí)行的,如果忘了輸入分號斌干ENTER鍵,那么仍然可以在SQL〉提示符上輸入一個(gè)斜線(/)來執(zhí)行這個(gè)語句。第4頁/共19頁SELECT語句的語法2023/3/26注意:在SQL〉提示符上輸入SQL語句之后,它將存儲在“SQL緩沖區(qū)”中供執(zhí)行。SQL緩沖區(qū)時(shí)計(jì)算機(jī)內(nèi)存中的一部分,它將包含將要執(zhí)行的SQL語句。語句保留在緩沖區(qū)中,直到輸入另一個(gè)SQL語句為止(也就是說緩沖區(qū)一次只保留一個(gè)SQL語句,它是臨時(shí)的)。要想查看目前SQL緩存區(qū)中包含什么語句,可以在SQL〉提示符上輸入一個(gè)分號(;)或字母L,然后按ENTER鍵。如果想要執(zhí)行當(dāng)前存儲在緩沖區(qū)中的SQL語句,那么只需要在SQL〉提示符上鍵入run,r或一個(gè)斜線(/),然后按ENTER鍵即可。第5頁/共19頁選擇表中的所有數(shù)據(jù)2023/3/26SELECT*FROMcustomers;在SELECT后面鍵入*號補(bǔ)充知識:在SQL〉提示符上輸入SETLINESIZE100,然后按ENTER鍵,這會將能夠在一行上顯示的字符數(shù)重置為100個(gè)字符。第6頁/共19頁選擇表中的所有數(shù)據(jù)2023/3/26第7頁/共19頁選擇表中的所有數(shù)據(jù)2023/3/26如果你發(fā)現(xiàn)第二列的標(biāo)題顯示在結(jié)果的中間,那么在SQL〉提示符上輸入SETPAGESIZE100并按ENTER鍵,將擴(kuò)展輸出中的每一頁所顯示的行數(shù)第8頁/共19頁選擇表中的所有數(shù)據(jù)2023/3/26state字段標(biāo)題被截?cái)嗔?,只顯示了ST,因?yàn)榱惺亲鳛橐粋€(gè)“字符字段”創(chuàng)建的,所以標(biāo)題不會比這個(gè)字段中存儲的數(shù)據(jù)寬度更長。如果字段是作為一個(gè)數(shù)字列定義的,那么將顯示整個(gè)列標(biāo)題,而與字段的寬度無關(guān)(如Customers#字段所示)。因?yàn)閟tate字段定義為只存儲連個(gè)字符,所以標(biāo)題列中只顯示了列名稱的前兩個(gè)字符。但是在任何SQL語句中引用state字段時(shí),仍然需要指定完整的列名稱,而不只是ST。第9頁/共19頁從表中選擇一列2023/3/26在Oracle9i中,只在結(jié)果中返回特定的列。SELECT語句中選擇特定列被稱為“投影(projection)”??梢赃x擇表中的一列,也可以選擇多個(gè)列或者是所有的列。比如要查看數(shù)據(jù)庫中所有圖書的名稱,我們查詢BOOKS表中的TITLE字段SELECTtitleFROMbooks;在Sql*Plus中的幾種輸入方式SQL>SELECTTITLEFROMBOOKS;SQL>selecttitlefrombooks;SQL>SELECTtitleFROMbooks;SQL>SELECTTITLEFROMBOOKS/關(guān)鍵字,表名和列名都不區(qū)分大小寫。為了將關(guān)鍵字與SELECT語句的其他部分區(qū)分開,關(guān)鍵字使用了大寫字母。要記住,這“不是”O(jiān)racle9i所必需的,只是用來提高可讀性的一種習(xí)慣做法。第10頁/共19頁從表中選擇多個(gè)列2023/3/26SELECTtitle,pubdateFROMbooks;SELECT語句的SELECT子句中指定多個(gè)列時(shí),應(yīng)該使用逗號將列出的列分開。可以加入空格來提高可讀性。注意:輸出結(jié)果中的順序,按SELECT子句中列出列的順序?qū)ΜF(xiàn)實(shí)的列排序。如果感覺到屏幕混亂,可以按shift+del鍵清除屏幕第11頁/共19頁SELECT語句中的運(yùn)算

使用列別名2023/3/26可以使用“列別名”來代替在查詢結(jié)果中顯示的列名稱。例如:如果顯示數(shù)據(jù)庫中存儲的所有圖書的列表,那么你可能想要將列標(biāo)題顯示為“TitleofBooks”,可以在SELCECT子句中列名稱的后面列出列別名。注意可選關(guān)鍵字AS,以便區(qū)分列名稱和列別名。在使用別名時(shí),須要記住一些準(zhǔn)則如果列名稱包含空格、特殊符號、或者你不希望全部以大寫字母顯示它,那么必須將它包括在“”中。如果只包括一個(gè)單詞,則不需要“”SELECTtitleAS“TitleofBooks”,categoryFROMbooks;第12頁/共19頁SELECT語句中的運(yùn)算

使用算數(shù)運(yùn)算2023/3/26SELECT子句中可以使用+,-,*,/這樣的算術(shù)運(yùn)算,Oracle9i中遵循以下算術(shù)運(yùn)算:在算術(shù)等式中從左向右計(jì)算,首先計(jì)算任何乘法和除法。在進(jìn)行乘法和除法之后才計(jì)算任何加法和減法,也是在等式中從左向右進(jìn)行計(jì)算??梢允褂美ㄌ柛采w計(jì)算順序例如:希望獲取每本書所產(chǎn)生的利潤。Books表包含兩個(gè)可以用來計(jì)算利潤的字段:Cost和Retail。一本書的利潤是書店為該書支付的金額(成本)與書的銷售價(jià)格(零售價(jià))之間的差值。我們?yōu)橛?jì)算出的字段指定一個(gè)別名。SELECTtitle,retail-costprofitFROMbooks;第13頁/共19頁使用DISTINCT和UNIQUE2023/3/26刪除重復(fù)的列可以使用DISTINCT例如:希望查看一下客戶分布在那些地區(qū)SELECTDISTINCTstateFROMcustomers;SELECTUNIQUEstateFROMcustomers;第14頁/共19頁創(chuàng)建串聯(lián)2023/3/26結(jié)合兩個(gè)或更多列的內(nèi)容被稱為“串聯(lián)”SELECTfirstname||lastnameFROMcustomers;SELECTfirstname||’’||lastnameFROMcustomers;SELECTfirstname||’’||lastname“CustomerName”FROMcustomers;第15頁/共19頁創(chuàng)建串聯(lián)2023/3/26要顯示客戶編號和姓名,并且客戶號和姓名顯示在獨(dú)立的行上面,怎么處理?SELECTcustomer#||CHR(10)||firstname||’’||lastname“CustomerInformation”FROMcustomers;CHR(10)指示在Oracle9i中插入一個(gè)換行符。第16頁/共19頁總結(jié)2023/3/26Oracle9i是一個(gè)()Oracle9iSQL中的基本查詢包括()和()子句,在SELECT語句中,只有這兩個(gè)子句是必須的。要想查看表中的所有列,指定一個(gè)()或在SELECT子句中單獨(dú)列出所有列名稱。在SELECT子句中列舉列名稱式,必須使用()來分隔列名稱。()可以用來解釋特定列的內(nèi)容。如果其中包括空格或特殊符號,或者想要以任

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論