資源描述:
《oracle基本sql語句查詢.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第二章基本SQL查詢Oracle中的SYSTEM用戶和SYS用戶具有管理權(quán)限,而SCOTT用戶只有基本的權(quán)限SQL是通用的數(shù)據(jù)庫語言SQL命令可分為數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、事務(wù)控制語言和數(shù)據(jù)控制語言O(shè)racle支持的數(shù)據(jù)類型包括字符、數(shù)值、日期時(shí)間、RAW和LOB等偽列:ROWID、ROWNUM數(shù)據(jù)完整性:實(shí)體完整性、域完整性、引用完整性、自定義完整性回顧目標(biāo)掌握并熟練應(yīng)用簡單查詢(單表)掌握并熟練應(yīng)用聯(lián)接查詢(多表)內(nèi)聯(lián)接交叉聯(lián)接外聯(lián)接掌握并熟練應(yīng)用分組聚合語法理解并熟練應(yīng)用子查詢語法單值多值多行多列
2、SQL語言概述SQL(StructuredQueryLanguage)即為結(jié)構(gòu)化查詢語言,它的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。數(shù)據(jù)庫的框架,是數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)形式.目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了ANSI-SQL語言標(biāo)準(zhǔn)。不同的類型的DBMS會(huì)根據(jù)實(shí)際需要,對標(biāo)準(zhǔn)SQL作適當(dāng)?shù)恼{(diào)整,形成自己的SQLSQL語言概述SQL的組成部分DDL(數(shù)據(jù)定義語言):維護(hù)(定義、修改、刪除)SQL模式對象.DML
3、(數(shù)據(jù)操縱語言):包括數(shù)據(jù)查詢和數(shù)據(jù)更新(增、刪、改).DCL(數(shù)據(jù)控制語言):對數(shù)據(jù)的訪問控制(授予權(quán)限、取消權(quán)限).TCL(事務(wù)控制語言):對事務(wù)的控制(提交、回滾、保存點(diǎn))數(shù)據(jù)查詢語句數(shù)據(jù)查詢語句是最常用也是最復(fù)雜的語句在介紹查詢語句之前,我們先定義三個(gè)表,以供示例使用:供應(yīng)商表(t_supplier):存儲供應(yīng)商編號(f_sid),名稱(f_sname)和產(chǎn)地(f_city)的表。零件表(t_part):存儲零件的編號(f_pid)名稱(f_pname)和價(jià)格(f_price)的表。銷售表(t_se
4、lls):存儲關(guān)于某個(gè)供應(yīng)商(f_sid)銷售的零件(f_pid)的信息。它是聯(lián)接其他兩個(gè)表的結(jié)點(diǎn)。實(shí)驗(yàn)數(shù)據(jù)現(xiàn)有數(shù)據(jù):t_supplier:f_sidf_snamef_city1SmithLondon2JonesParis3AdamsRome4BlakePeking5ZyxJinant_part:f_pidf_pnamef_price1Screw102Nut83Bolt154Gear255Ball5t_sells:f_idf_datef_sidf_pidf_count12006-01-01111022006
5、-01-02121532006-01-0324542006-01-043110052006-01-05335062006-01-06422372006-01-07437882006-01-0844110簡單查詢(單表)查出所有供應(yīng)商的詳細(xì)信息查出所有供應(yīng)商的名字,及城市簡單查詢(單表)從零件表中檢索出名稱為Bolt并且價(jià)格為20或不大于15的零件的名稱與價(jià)格seletef_pname,f_pricefromt_partwheref_name='Bolt'and(f_price=20orf_price<=15
6、);我們想買兩個(gè)同樣的零件,但我們只有25塊錢,查詢出我們能夠買到的零件以及需要花的錢數(shù)selectf_pname,f_double=f_price*2fromt_partwheref_price*2<=25;幾種特殊用法2-1SQL>SELECTDISTINCTf_cityFROMt_supplier;選擇無重復(fù)的行在SELECT子句,使用DISTINCT關(guān)鍵字使用列別名及表別名為列表達(dá)式提供不同的名稱該別名指定了列標(biāo)題SQL>SELECTf_id,f_name,f_departmentasdepFROM
7、t_student;SQL>SELECTstu.f_name,cour.f_name,f_gradeFROMt_studentstu,t_coursecour,t_sellsWHEREstu.f_id=f_stuidandcour.f_id=f_courseid;幾種特殊用法2-2利用現(xiàn)有的表創(chuàng)建表語法:CREATETABLEASSELECTcolumn_namesFROM;SQL>CREATETABLEt_stubakASSELECT*FRO
8、Mt_student;SQL>CREATETABLEt_stuclass1ASSELECT*FROMt_studentwheref_class=1;SQL>CREATETABLEt_stuASSELECT*FROMt_studentWHERE1=2;聯(lián)接查詢-普通聯(lián)接查詢出每天銷售情況:銷售日期、零件名稱、價(jià)格以及零件的供應(yīng)商及其所處城市selectf_date,f_pname,f_price,f_sname,f