一章數(shù)據(jù)查詢ppt課件_第1頁
一章數(shù)據(jù)查詢ppt課件_第2頁
一章數(shù)據(jù)查詢ppt課件_第3頁
一章數(shù)據(jù)查詢ppt課件_第4頁
一章數(shù)據(jù)查詢ppt課件_第5頁
已閱讀5頁,還剩198頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g第第2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢2.1 數(shù)據(jù)庫查詢言語數(shù)據(jù)庫查詢言語SQL2.2 根本查詢和排序根本查詢和排序2.3 條件查詢條件查詢 2.4 函數(shù)函數(shù) 2.5 高級查詢高級查詢2.6 階段訓練階段訓練2.7 練習練習第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2.1 數(shù)據(jù)庫查詢言語數(shù)據(jù)庫查詢言語SQL2.1.1 SQL言語的特點和分類SQL言語有以下的主要特點:* SQL言語可以在Oracle數(shù)據(jù)庫中創(chuàng)建、存儲、更新、檢索和維護數(shù)據(jù),其中主要的功能是實現(xiàn)數(shù)據(jù)的查

2、詢和數(shù)據(jù)的插入、刪除、修正等操作。* SQL言語在書寫上類似于英文,簡約明晰,易于了解。它由關(guān)鍵字、表名、字段名,表達式等部分構(gòu)成。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g* SQL言語屬于非過程化的4GL(第四代言語)。* SQL言語按功能可分為DDL言語、DML言語、DCL言語和數(shù)據(jù)庫事務(wù)處置言語四個類別。* SQL言語的主要關(guān)鍵字有:ALTER、DROP、REVOKE、AUDIT、GRANT、ROLLBACK、COMMIT、INSERT、SELECT、COMMENT、LOCK、UPDATE、CREATE、NOAUDIT、VALIDATE、

3、DELETE、RENAME等。按照SQL言語的不同功用,可以進一步對SQL言語進展劃分。下表給出了SQL言語的分類和功能簡介。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-1 SQL言語的分類類 別 功 能 舉 例 數(shù)據(jù)庫控制語言(DCL) 控制對數(shù)據(jù)庫的訪問,啟動和關(guān)閉等 對系統(tǒng)權(quán)限進行授權(quán)和回收的GRANT、REVOKE 等語句 數(shù)據(jù)庫定義語言(DDL) 用來創(chuàng)建、 刪除及修改數(shù)據(jù)庫對象 創(chuàng)建表和索引的CREATE TABLE、ALTER INDEX 等語句 數(shù)據(jù)庫操縱語言(DML) 用來操縱數(shù)據(jù)庫的內(nèi)容,包括查詢 查詢、插入、刪除、修改和

4、鎖定操作的 SELECT、 INSERT、UPDATE、DELETE、LOCK TABLE 等語句 數(shù)據(jù)庫事務(wù)處理 實現(xiàn)對數(shù)據(jù)的交易過程的完整控制 與數(shù)據(jù)庫事物處理相關(guān)的 COMMIT、 ROLLBACK、SAVEPOINT、SET TRANSACTION 等語句 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2.1.2 SQL的根本語法SQL言語的語法比較簡單,類似于書寫英文的語句。其語句普通由主句和假設(shè)干個從句組成,主句和從句都由關(guān)鍵字引導。主句表示該語句的主要功能,從句表示一些條件或限定,有些從句是可以省略的。在語句中會援用到列名、表名或表達式

5、。另外還有如下一些闡明:* 關(guān)鍵字、字段名、表名等之間都要用空格或逗號等進展必要的分隔。* 語句的大小寫不敏感(查詢的內(nèi)容除外)。* 語句可以寫在一行或多行。* 語句中的關(guān)鍵字不能略寫和分開寫在兩行。 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g* 要在每條SQL語句的終了處添加“;號。* 為了提高可讀性,可以運用縮進。* 從句普通寫在另一行的開場處。查詢語句是最常見的SQL語句,它從給定的表中,把滿足條件的內(nèi)容檢索出來。以下是最根本的SELECT語句語法。SELECT 字段名列表 FROM 表名 WHERE 條件;SELECT為查詢語句的關(guān)鍵字,

6、后跟要查詢的字段名列表,字段名列表用來指定檢索特定的字段,該關(guān)鍵字不能省略。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g字段名列表代表要查詢的字段。FROM 也是查詢語句關(guān)鍵字,后面跟要查詢的表名,該關(guān)鍵字不能省略。WHERE條件限定檢索特定的記錄,滿足“條件的記錄被顯示出來,不滿足條件的被過濾掉。語句查詢的結(jié)果往往是表的一部分行和列。假設(shè)字段名列表運用*,將檢索全部的字段。假設(shè)省略WHERE條件,將檢索全部的記錄。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練1】 查詢部門10的雇員。輸入并執(zhí)行查

7、詢:SELECT * FROM emp WHERE deptno=10;結(jié)果略。 闡明:該查詢語句從emp表中檢索出部門10 的雇員,條件由WHERE deptno=10 子句指定。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2.2 根本查詢和排序根本查詢和排序2.2.1 查詢的根本用法在Oracle數(shù)據(jù)庫中,對象是屬于方式的,每個賬戶對應(yīng)一個方式,方式的稱號就是賬戶稱號。在表名前面要添加方式的名字,在表的方式名和表名之間用“.分隔。我們以不同的賬戶登錄數(shù)據(jù)庫時,就進入了不同的方式,比如登錄到STUDENT 賬戶,就進入了STUDENT方式。而在S

8、TUDENT方式要查詢屬于SCOTT方式的表,就需求寫成:SELECT * FROM SCOTT.EMP;第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g但假設(shè)登錄用戶訪問屬于用戶方式本身的表,那么可以省略表名前面的方式稱號。SELECT * FROM emp;1指定檢索字段下面的練習,只顯示表的指定字段?!居柧?】 顯示DEPT表的指定字段的查詢。輸入并執(zhí)行查詢:SELECT deptno,dname FROM dept;第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g顯示結(jié)果如下: DEPTNO DNAME

9、- - 10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS 闡明:結(jié)果只包含2列deptno和dname。在語句中給出要顯示的列名,列名之間用“,分隔。表頭的顯示默以為全部大寫。對于日期和數(shù)值型數(shù)據(jù),右對齊顯示,如deptno列。對于字符型數(shù)據(jù),左對齊顯示,如dname列。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【練習1】顯示emp表的雇員稱號和工資。2顯示行號每個表都有一個虛列ROWNUM,它用來顯示結(jié)果中記錄的行號。我們在查詢中也可以顯示這個列。【訓練2】 顯示EMP表的行號。輸入并執(zhí)行查詢:S

10、ELECT rownum,ename FROM emp;第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g結(jié)果如下: ROWNUM ENAME- - 1 SMITH 2 ALLEN 3 WARD 4 JONES 留意:顯示的行號是查詢結(jié)果的行號,數(shù)據(jù)在數(shù)據(jù)庫中是沒有行號的。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g3顯示計算列在查詢語句中可以有算術(shù)表達式,它將構(gòu)成一個新列,用于顯示計算的結(jié)果,通常稱為計算列。表達式中可以包含列名、算術(shù)運算符和括號。括號用來改動運算的優(yōu)先次序。常用的算術(shù)運算符包括:* +:加

11、法運算符。* -:減法運算符。* *:乘法運算符。* /:除法運算符。以下訓練在查詢中運用了計算列。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練3】 顯示雇員工資上浮20%的結(jié)果。輸入并執(zhí)行查詢:SELECT ename,sal,sal*(1+20/100) FROM emp;(*不能省略)顯示結(jié)果為:ENAME SAL SAL*(1+20/100)- - -SMITH 800 960ALLEN 1600 1920闡明:結(jié)果中共顯示了3列,第3列顯示工資上浮20%的結(jié)果,它不是表中存在的列,而是計算產(chǎn)生的結(jié)果,稱為計算列。第第2 2章章 數(shù)據(jù)

12、查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【練習2】顯示EMP表的雇員稱號以及工資和津貼的和。 4運用別名我們可以為表的列起一個別名,它的益處是,可以改動表頭的顯示。特別是對于計算列,可以為它起一個簡單的列別名以替代計算表達式在表頭的顯示?!居柧?】 在查詢中運用列別名。輸入并執(zhí)行:SELECT ename AS 稱號, sal 工資 FROM emp;顯示結(jié)果為:稱號 工資- -SMITH 800ALLEN 1600第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:表頭顯示的是列別名,轉(zhuǎn)換為漢字顯示。在列名和別名之間要

13、用AS分隔,如ename和它的別名“稱號之間用AS隔開。AS也可以省略,如sal和它的別名“工資之間用空格分割。留意:假設(shè)用空格分割,要區(qū)別好列名和別名,前面為列名,后面是別名。別名假設(shè)含有空格或特殊字符或大小寫敏感,需求運用雙引號將它引起來。 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練5】 在列別名上運用雙引號。輸入并執(zhí)行查詢:SELECT ename AS Name, sal*12+5000 AS 年度工資(加年終獎) FROM emp;顯示結(jié)果為:Name 年度工資(加年終獎)- -SMITH 14600ALLEN 24200 第第2

14、 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:其中別名“Name有大小寫的區(qū)別,別名“年度工資(加年終獎) 中出現(xiàn)括號,屬于特殊符號,所以都需求運用雙引號將別名引起?!揪毩?】顯示DEPT表的內(nèi)容,運用別名將表頭轉(zhuǎn)換成中文顯示。5銜接運算符留意字符函數(shù)concat在前面,我們運用到了包含數(shù)值運算的計算列,顯示結(jié)果也是數(shù)值型的。我們也可以運用字符型的計算列,方法是在查詢中運用銜接運算。銜接運算符是雙豎線“|。經(jīng)過銜接運算可以將兩個字符串銜接在一同。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練6】 在查

15、詢中運用銜接運算。輸入并執(zhí)行查詢:SELECTename|job AS 雇員和職務(wù)表 FROM emp;輸出結(jié)果為:雇員和職務(wù)表-SMITHCLERKALLENSALESMAN第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:在本例中,雇員稱號和職務(wù)列被銜接成為一個列顯示。在查詢中可以運用字符和日期的常量,表示固定的字符串或固定日期。字符和日期的常量需求用單引號引起。下一個訓練是作為上一個訓練的改良。 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g?【訓練7】 在查詢中運用字符串常量。輸入并執(zhí)行查詢:SE

16、LECTename| IS |job AS 雇員和職務(wù)表 FROM emp;輸出結(jié)果為:雇員和職務(wù)表-SMITH IS CLERKALLEN IS SALESMAN闡明:本練習中將雇員稱號、字符串常量“ IS 和雇員職務(wù)3個部分銜接在一同。 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【練習4】顯示DEPT表的內(nèi)容,按以下的方式: 部門ACCOUNTING所在的城市為NEW YORK 6消除反復行假設(shè)在顯示結(jié)果中存在反復行,可以運用的關(guān)鍵字DISTINCT消除反復顯示。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACL

17、E 10g【訓練8】 運用DISTINCT消除反復行顯示。輸入并執(zhí)行查詢:SELECT DISTINCT job FROM emp;結(jié)果為:JOB-ANALYSTCLERKMANAGERPRESIDENTSALESMAN第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:在本例中,假設(shè)不運用DISTINCT關(guān)鍵字,將反復顯示雇員職務(wù),DISTINCT關(guān)鍵字要緊跟在SELECT之后。請去掉DISTINCT關(guān)鍵字,重新執(zhí)行,并察看顯示結(jié)果的不同。【練習5】顯示EMP表中不同的部門編號。2.2.2 查詢結(jié)果的排序假設(shè)要在查詢的同時排序顯示結(jié)果,可以運用如下

18、的語句:SELECT 字段列表 FROM 表名 WHERE 條件ORDER BY 字段名1 ASC|DESC,字段名2 ASC|DESC.;第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10gORDER BY從句后跟要排序的列。ORDER BY 從句出如今SELECT語句的最后。排序有升序和降序之分,ASC表示升序排序,DESC表示降序排序。假設(shè)不指明排序順序,默許的排序順序為升序。假設(shè)要降序,必需書寫DESC關(guān)鍵字。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g1升序排序 【訓練1】 查詢雇員姓名和工資,并按工

19、資從小到大排序。輸入并執(zhí)行查詢:SELECT ename, sal FROM emp ORDER BY sal;執(zhí)行結(jié)果為:ENAME SAL- -SMITH 800JAMES 950留意:假設(shè)省略ASC和DESC,那么默以為ASC,即升序排序。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2降序排序 【訓練2】 查詢雇員姓名和雇傭日期,并按雇傭日期排序,后雇傭的先顯示。輸入并執(zhí)行查詢:SELECT ename,hiredate FROM emp ORDER BY hiredate DESC;結(jié)果如下:ENAME HIREDATE- -ADAMS 2

20、3-5月 -87SCOTT 19-4月 -87第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10gMILLER 23-1月 -82JAMES 03-12月-81FORD 03-12月-81留意: DESC表示降序排序,不能省略。 3多列排序可以按多列進展排序,先按第一列,然后按第二列、第三列.。 【訓練3】 查詢雇員信息,先按部門從小到大排序,再按雇傭時間的先后排序。輸入并執(zhí)行查詢:SELECT ename,deptno,hiredate FROM emp ORDER BY deptno,hiredate;第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL O

21、RACLE 10g ORACLE 10g結(jié)果如下:ENAME DEPTNO HIREDATE- - -CLARK 10 09-6月 -81KING 10 17-11月-81MILLER 10 23-1月 -82SMITH 20 17-12月-80JONES 20 02-4月 -81FORD 20 03-12月-81SCOTT 20 19-4月 -87闡明:該排序是先按部門升序排序,部門一樣的情況下,再按雇傭時間升序排序。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g4在排序中運用別名假設(shè)要對計算列排序,可以為計算列指定別名,然后按別名排序。 【訓練4

22、】 按工資和任務(wù)月份的乘積排序。輸入并執(zhí)行查詢:SELECT empno, ename, sal*Months_between(sysdate,hiredate) AS total FROM emp ORDER BY total;第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g執(zhí)行結(jié)果為: EMPNO ENAME TOTAL- - - 7876ADAMS 221526.006 7369 SMITH 222864.661 7900 JAMES 253680.817 7654 MARTIN 336532.484闡明:求得雇員任務(wù)月份的函數(shù)Months_be

23、tween將在后面引見。sysdate表示當前日期。【練習1】將部門表中的部門稱號按字母順序顯示。 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2.3 條件查詢條件查詢 2.3.1 簡單條件查詢要對顯示的行進展限定,可在FROM從句后運用WHERE從句,在WHERE從句中給出限定的條件,由于限定條件是一個表達式,所以稱為條件表達式。條件表達式中可以包含比較運算,表達式的值為真的記錄將被顯示。常用的比較運算符列于表2-2中。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-2 比 較 運 算 符運算符 功

24、 能 實 例 ,2000 =.=2000 = 等于 Select * from emp where deptno=10 !=,= 不等于 Select * from emp where deptno!=10 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練1】 顯示職務(wù)為“SALESMAN的雇員的姓名、職務(wù)和工資。輸入并執(zhí)行查詢:SELECT ename,job,sal FROM emp WHERE job=SALESMAN;執(zhí)行結(jié)果為:ENAME JOB SAL- - -ALLEN SALESMAN 1600WARD SALESMAN 1250

25、MARTIN SALESMAN 1250TURNER SALESMAN 1500第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:結(jié)果只顯示職務(wù)為“SALESMAN的雇員。字符串和日期型數(shù)據(jù)的值是包含在單引號中的,如SALESMAN,需求用單引號引起。字符的值對大小寫敏感,在emp表中存放的職務(wù)字符串全部是大寫。留意:在本練習中,假設(shè)SALESMAN寫成小寫或大小寫混合,將不會有查詢結(jié)果輸出。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練2】 顯示工資大于等于3000的雇員姓名、職務(wù)和工資。輸入并執(zhí)

26、行查詢:SELECT ename, job,sal FROM emp WHERE sal=3000;執(zhí)行結(jié)果為:ENAME JOB SAL- - -SCOTT ANALYST 3000KING PRESIDENT 5000FORD ANALYST 3000第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:結(jié)果只顯示工資大于等于3000的雇員。缺省中文日期格式為DD-MM月-YY,如2019年1月10日應(yīng)該表示為“10-1月-03。【訓練3】 顯示1982年以后雇傭的雇員姓名和雇傭時間。輸入并執(zhí)行查詢:SELECT ename,hiredate FR

27、OM emp WHERE hiredate=1-1月-82;執(zhí)行結(jié)果為:ENAME HIREDATE- -第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10gSCOTT 19-4月 -87ADAMS 23-5月 -87MILLER 23-1月 -82 闡明:檢查hiredate字段的內(nèi)容,都在82年以后。【練習1】顯示部門編號為10的雇員姓名和雇傭時間。 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2.3.2 復合條件查詢可以用邏輯運算符構(gòu)成復合的條件查詢,即把兩個或多個條件,用邏輯運算符銜接成一個條件。有3個

28、邏輯運算符,如表2-3所示。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-3 邏輯運算符運算符 說 明 實 例 AND 邏輯與,表示兩個條件必須同時滿足 Select * from emp where sal1000 and sal1000 AND sal1000 AND sal1000 AND 2000。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【練習1】顯示部門10中工資大于1500的雇員。2運用邏輯或下面是運用邏輯或運算的練習?!居柧?】 顯示職務(wù)為CLERK或MANAGER的雇員信息。輸入

29、并執(zhí)行查詢:SELECT * FROM emp WHERE job=CLERK OR job=MANAGER;執(zhí)行結(jié)果從略。闡明:檢索職務(wù)為CLERK或MANAGER的雇員,需求運用OR運算,請自行察看結(jié)果。留意:條件job=CLERK OR job=MANAGER不能寫成job=CLERK OR MANAGER。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g3運用邏輯非下面是運用邏輯非運算的練習?!居柧?】 顯示部門10以外的其他部門的雇員。輸入并執(zhí)行查詢:SELECT * FROM emp WHERE NOT deptno=10;執(zhí)行結(jié)果從略。闡

30、明:執(zhí)行結(jié)果包含部門編號不等于10的其他部門的雇員,請自行察看結(jié)果。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g4運用邏輯或和邏輯與下面是同時運用邏輯或和邏輯與的復合練習?!居柧?】 顯示部門10和部門20中工資小于1500的雇員。輸入并執(zhí)行查詢SELECT * FROM emp WHERE (deptno=10 OR deptno=20) AND sal0;執(zhí)行結(jié)果為: EMPNO ENAME LENGTH(ENAME)- - - 7369 SMITH 5 7566 JONES 5第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10

31、g ORACLE 10g闡明:本例在字段列表和查詢條件中分別運用了函數(shù)length和instr。Length函數(shù)前往ename的長度。instr(ename,S1,1)函數(shù)前往ename中從第一個字符位置開場,字符串“S第一次出現(xiàn)的位置。假設(shè)函數(shù)前往0,那么闡明ename中不包含字符串“S;假設(shè)函數(shù)前往值大于0,那么闡明ename中包含字符串“S。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【練習1】顯示部門表中部門和所在城市列表,中間以下劃線“_銜接,城市名轉(zhuǎn)換成以大寫字母開頭。2.4.3 日期型函數(shù)Oracle運用內(nèi)部數(shù)字格式來保管時間和日期,

32、包括世紀、年、月、日、小時、分、秒。缺省日期格式為 DD-MON-YY,如“08-05月-03代表2019年5月8日。SYSDATE是前往系統(tǒng)日期和時間的虛列函數(shù)。運用日期的加減運算,可以實現(xiàn)如下功能:* 對日期的值加減一個天數(shù),得到新的日期。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g* 對兩個日期相減,得到相隔天數(shù)。* 經(jīng)過加小時來添加天數(shù),24小時為一天,如12小時可以寫成12/24(或0.5)。還有如表2-7所示的日期函數(shù)可以運用。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-7 日期函數(shù)第

33、第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練1】 前往系統(tǒng)的當前日期。輸入并執(zhí)行查詢:SELECT sysdate FROM dual;前往結(jié)果為:SYSDATE -06-2月-03闡明:該查詢前往執(zhí)行該查詢時的數(shù)據(jù)庫效力器的系統(tǒng)當前時間,日期顯示格式為默許格式,如“06-2月-03表示03年2月6日。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練2】 前往2019年2月的最后一天。輸入并執(zhí)行查詢:SELECT last_day(08-2月-03) FROM dual;前往結(jié)果為:LAST_DA

34、Y(-28-2月-03闡明:該函數(shù)給定參數(shù)為某月份的恣意一天,前往時間為該月份的最后一天。本例中,參數(shù)為03年2月8號,前往日期為03年2月28日,是該月的最后一天。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練3】 假定當前的系統(tǒng)日期是2019年2月6日,求再過1000天的日期。輸入并執(zhí)行查詢:SELECT sysdate+1000 AS NEW DATE FROM dual;前往結(jié)果為:NEW DATE-04-11月-05 闡明:該查詢運用到了日期的加法運算,求經(jīng)過一定天數(shù)后的新日期。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORAC

35、LE 10g ORACLE 10g【訓練4】 假定當前的系統(tǒng)日期是2019年2月6日,顯示部門10雇員的雇傭天數(shù)。輸入并執(zhí)行查詢:SELECT ename, round(sysdate-hiredate) DAYSFROM empWHERE deptno = 10;前往結(jié)果為:ENAME DAYS- -CLARK 7913KING 7752MILLER 7685闡明:該查詢運用日期的減法運算求兩個日期的相差天數(shù)。用round函數(shù)對天數(shù)進展四舍五入。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【練習1】顯示雇員稱號和雇傭的星期數(shù)?!揪毩?】顯示從本年

36、1月1日開場到如今經(jīng)過的天數(shù)(當前時間取SYSDATE的值)。2.4.4 轉(zhuǎn)換函數(shù)Oracle的類型轉(zhuǎn)換分為自動類型轉(zhuǎn)換和強迫類型轉(zhuǎn)換。常用的類型轉(zhuǎn)換函數(shù)有TO_CHAR、TO_DATE或TO_NUMBER,如表2-8所示。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-8 類型轉(zhuǎn)換函數(shù)第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g1自動類型轉(zhuǎn)換Oracle可以自動根據(jù)詳細情況進展如下的轉(zhuǎn)換:* 字符串到數(shù)值。* 字符串到日期。* 數(shù)值到字符串。* 日期到字符串。以下是自動轉(zhuǎn)換的訓練。第第2 2章章 數(shù)

37、據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練1】 自動轉(zhuǎn)換字符型數(shù)據(jù)到數(shù)值型。輸入并執(zhí)行查詢:SELECT 12.5+11 FROM dual;執(zhí)行結(jié)果為:12.5+11- 23.5闡明:在本訓練中,由于出現(xiàn)+運算符,闡明進展的是算術(shù)運算,所以字符串12.5被自動轉(zhuǎn)換成數(shù)值12.5,然后參與運算。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練2】 自動轉(zhuǎn)換數(shù)值型數(shù)據(jù)到字符型。執(zhí)行以下查詢:SELECT 12.5|11 FROM dual;結(jié)果為:12.5-12.511闡明:在本訓練中,由于出現(xiàn)|運算符,闡明進展

38、的是字符串銜接運算,數(shù)值11被自動轉(zhuǎn)換成字符串11,然后參與運算。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2日期類型轉(zhuǎn)換將日期型轉(zhuǎn)換成字符串時,可以按新的格式顯示。如格式Y(jié)YYY-MM-DD HH24:MI:SS表示“年-月-日 小時:分鐘:秒。Oracle的日期類型是包含時間在內(nèi)的。主要的日期格式字符的含義如表2-9所示。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-9 日期轉(zhuǎn)換格式字符代 碼 代表的格式 例 子 AM、PM 上午、下午 08 AM D 數(shù)字表示的星期(17) 1,2,3,4,

39、5,6,7 DD 數(shù)字表示月中的日期(131) 1,2,3,31 MM 兩位數(shù)的月份 01,02,12 Y、 YY、 YYY、 YYYY 年份的后幾位 3,03,003,2003 RR 解決 Y2K 問題的年度轉(zhuǎn)換 DY 簡寫的星期名 MON,TUE,FRI, DAY 全拼的星期名 MONDAY,TUESDAY, 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-9 日期轉(zhuǎn)換格式字符MON 簡寫的月份名 JAN,FEB,MAR, MONTH 全拼的月份名 JANUARY,FEBRUARY, HH、HH12 12小時制的小時(112) 1,2,3,1

40、2 HH24 24小時制的小時(023) 0,1,2,23 MI 分(059) 0,1,2,59 SS 秒(059) 0,1,2,59 ,./-;: 原樣顯示的標點符號 TEXT 引號中的文本原樣顯示 TEXT 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練3】 將日期轉(zhuǎn)換成帶時間和星期的字符串并顯示。執(zhí)行以下查詢:SELECT TO_CHAR(sysdate,YYYY-MM-DD HH24:MI:SS AM DY) FROM dual;結(jié)果為:TO_CHAR(SYSDATE,YYYY-MM-DD HH24-2019-02-07 15:44:4

41、8 下午 星期六第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:該語句中的第一個參數(shù)表示要轉(zhuǎn)換的日期,第二個參數(shù)是格式字符串,表示轉(zhuǎn)換后的格式,結(jié)果類型為字符串?!癥YYY為4位的年份,“MM為兩位的月份,“DD為兩位的日期,“HH24表示顯示24小時制的小時,“MI表示顯示分鐘,“SS表示顯示秒,“AM表示顯示上午或下午(本例中為下午),“DY表示顯示星期?!?、“:和空格原樣顯示,用于分割日期和時間。轉(zhuǎn)換出來的系統(tǒng)時間為:2019年2月7日(星期六)下午15點44分48秒。 還可以按其他的格式顯示。以下查詢中插入中文的年月日,其中原樣顯示部分

42、區(qū)別于外層的單引號,需求用雙引號引起。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練4】 將日期顯示轉(zhuǎn)換成中文的年月日。輸入并執(zhí)行查詢:SELECT TO_CHAR(sysdate,YYYY年MM月DD日) FROM dual;執(zhí)行結(jié)果為:TO_CHAR(SYSDAT-2019年11月18日闡明:雙引號中的中文字“年、“月、“日原樣顯示,單引號為字符串的界定標志,區(qū)別于雙引號,不能混淆。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練5】 將雇傭日期轉(zhuǎn)換成字符串并按新格式顯示。輸入并執(zhí)行查詢:SE

43、LECTename, to_char(hiredate, DD Month YYYY) HIREDATEFROM emp;執(zhí)行結(jié)果為:ENAME HIREDATE- -SMITH 17 12月 1980ALLEN 20 2月 1981第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:Month表示月份的特殊格式,如“12月。年度用4位顯示。對于數(shù)字型的日期格式,可以用數(shù)字或全拼格式顯示,即在格式字符后面添加TH或SP。TH代表序列,SP代表全拼。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練6】 以

44、全拼和序列顯示時間。執(zhí)行以下查詢:SELECT SYSDATE,to_char(SYSDATE,yyyysp),to_char(SYSDATE,mmspth),to_char(SYSDATE,ddth) FROM dual;執(zhí)行結(jié)果為:SYSDATE TO_CHAR(SYSDATE,YYYYSP) TO_CHAR( TO_C- - - -第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g07-2月 -04 two thousand four second 07th闡明:“two thousand four為全拼表示的2019年;“second為全拼序列表

45、示的2月;“07th為用序列表示的7號。 在格式字符中,前兩個字符代表顯示結(jié)果的大小寫。假設(shè)格式中的前兩個字符是大寫,那么輸出結(jié)果的全拼也為大寫。假設(shè)格式中的前兩個字符是小寫,那么輸出結(jié)果的全拼也為小寫。假設(shè)格式中的前兩個字符的第一個字符是大寫,第二個字符是小寫,那么輸出結(jié)果的全拼也為大寫開頭,后面為字符小寫。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練7】 時間顯示的大小寫。步驟1:執(zhí)行以下查詢:SELECT SYSDATE,to_char(SYSDATE,yyyysp) FROM dual;結(jié)果為:SYSDATE TO_CHAR(SYSD

46、ATE,YYYYSP)- -07-2月 -04 two thousand four步驟2:執(zhí)行以下查詢:SELECT to_char(SYSDATE,Yyyysp) FROM dual;結(jié)果為:SYSDATE TO_CHAR(SYSDATE,YYYYSP)- -Two Thousand Four第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g步驟3:執(zhí)行以下查詢:SELECT SYSDATE,to_char(SYSDATE,YYyysp) FROM dual;結(jié)果為:SYSDATE TO_CHAR(SYSDATE,YYYYSP)- -TWO THOUS

47、AND FOUR闡明:步驟1輸出全拼小寫的年度,步驟2輸出全拼的以大寫開頭的年度,步驟3輸出全拼大寫的年度?!揪毩?】顯示2019年的8月8日為星期幾。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g3數(shù)字類型轉(zhuǎn)換 將數(shù)字型轉(zhuǎn)換成字符串時,也可以按新的格式顯示。格式字符含義如表2-10所示。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-10 數(shù)值轉(zhuǎn)換符第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練8】 將數(shù)值轉(zhuǎn)換成字符串并按新格式顯示。執(zhí)行以下查詢:SE

48、LECT TO_CHAR(123.45,0000.00), TO_CHAR(12345,L9.9EEEE) FROM dual;結(jié)果為:TO_CHAR( TO_CHAR(12345,L9.9- - 0123.45 RMB1.2E+04闡明:格式字符串中“0表示一位數(shù)字,轉(zhuǎn)換結(jié)果中相應(yīng)的位置上沒有數(shù)字那么添加0?!?表示在相應(yīng)的位置上顯示小數(shù)點?!癓將以本地貨幣符號顯示于數(shù)字前,在本例中本地貨幣符號為“RMB?!癊EEE將顯示轉(zhuǎn)換為科學計數(shù)法。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練9】 將數(shù)值轉(zhuǎn)換成字符串并按新格式顯示。執(zhí)行以下查詢:SE

49、LECT TO_CHAR(sal,$99,999) SALARY FROM empWHERE ename = SCOTT;結(jié)果為:SALARY- $4,000闡明:格式字符串中“$表示轉(zhuǎn)換結(jié)果前面添加$。“9表示一位數(shù)字,“99,999表示結(jié)果可以顯示為5位的數(shù)字。“,表示在相應(yīng)的位置上添加逗號。假照實踐數(shù)值位數(shù)缺乏5位,那么只顯示實踐位數(shù),如4000實踐位數(shù)為4位,那么只顯示4位。假照實踐位數(shù)超越5位,那么會填充為#號。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2.4.5 其他函數(shù)Oracle還有一些函數(shù),如decode和nvl,這些函數(shù)也很有

50、用,歸納如表2-11所示。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g表2-11 其他常用函數(shù)第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g1空值的轉(zhuǎn)換假設(shè)對空值NULL不能很好的處置,就會在查詢中出現(xiàn)一些問題。在一個空值上進展算術(shù)運算的結(jié)果都是NULL。最典型的例子是,在查詢雇員表時,將工資sal字段和津貼字段comm進展相加,假設(shè)津貼為空,那么相加結(jié)果也為空,這樣容易引起誤解。運用nvl函數(shù),可以轉(zhuǎn)換NULL為實踐值。該函數(shù)判別字段的內(nèi)容,假設(shè)不為空,前往原值;為空,那么前往給定的值。第第2 2章章

51、數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g如下3個函數(shù),分別用新內(nèi)容替代字段的空值:nvl(comm, 0):用0替代空的Comm值。nvl(hiredate, 01-1月-97):用2019年1月1日替代空的雇傭日期。nvl(job, 無):用“無替代空的職務(wù)。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練1】 運用nvl函數(shù)轉(zhuǎn)換空值。執(zhí)行以下查詢:SELECTename,nvl(job,無),nvl(hiredate,01-1月-97),nvl(comm,0) FROM emp;結(jié)果為:ENAME NVL(J

52、OB,N NVL(HIREDA NVL(COMM,0)- - - -SMITH CLERK 17-12月-80 0ALLEN SALESMAN 20-2月 -81 300闡明:本例中,空日期將顯示為“01-1月-97,空職務(wù)顯示為“無,空津貼將顯示為0。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2decode函數(shù)decode函數(shù)可以經(jīng)過比較進展內(nèi)容的轉(zhuǎn)換,完成的功能相當于分支語句。該函數(shù)的第一個參數(shù)為要進展轉(zhuǎn)換的表達式,以后的參數(shù)成對出現(xiàn),最后一個參數(shù)可以單獨出現(xiàn)。假設(shè)第一個參數(shù)的值與第二個表達式的值相等,那么前往第三個表達式的值;假設(shè)不等那么繼

53、續(xù)比較,假設(shè)它的值與第四個表達式的值相等,那么前往第五個表達式的值,以此類推。在參數(shù)的最后位置上可以存在單獨的參數(shù),假設(shè)以上比較過程沒有找到匹配值,那么前往該參數(shù)的值,假設(shè)不存在該參數(shù),那么前往NULL。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練2】 將職務(wù)轉(zhuǎn)換成中文顯示。執(zhí)行以下查詢:SELECTename,decode(job, MANAGER, 經(jīng)理, CLERK,職員, SALESMAN,推銷員, ANALYST,系統(tǒng)分析員,未知) FROM emp;結(jié)果為:ENAME DECODE(JOB- -SMITH 職員ALLEN 推銷員W

54、ARD 推銷員JONES 經(jīng)理第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10gMARTIN 推銷員BLAKE 經(jīng)理CLARK 經(jīng)理SCOTT 系統(tǒng)分析員KING 未知TURNER 推銷員ADAMS 職員JAMES 職員FORD 系統(tǒng)分析員MILLER 職員已選擇14行。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g闡明:在以上訓練中,假設(shè)job字段的內(nèi)容為“MANAGER那么前往“經(jīng)理,假設(shè)是“CLERK那么前往“職員,以此類推。假設(shè)不是“MANAGER、“CLERK、“SALESMAN和“ANALYST之一

55、,那么前往“未知,如KING的職務(wù)“PRESIDENT不在上述范圍,前往“未知?!揪毩?】對部門表的部門稱號和城市名進展轉(zhuǎn)換。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g3userenv函數(shù)函數(shù)userenv前往用戶環(huán)境信息字符串,該函數(shù)只需一個字符串類型的參數(shù),參數(shù)的內(nèi)容為如下之一的字符串,可以不區(qū)分大小寫:* ISDBA:判別會話用戶的角色能否為SYSDBA,是那么前往TRUE。* INSTANCE:前往會話銜接的INSTANCE標識符。* LANGUAGE:前往言語、地域、數(shù)據(jù)庫字符集信息。* LANG:前往會話言語的ISO簡稱。 * TER

56、MINAL:前往正在會話的終端或計算機的標識符。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練3】 前往用戶終端或系統(tǒng)標識信息。執(zhí)行以下查詢:SELECTuserenv(TERMINAL) FROM dual;結(jié)果為:ORASERVER闡明:根據(jù)用戶運用的機器不同前往的信息不同,在本例中機器標識符ORASERVER為主機的稱號。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練4】 前往言語、地域、數(shù)據(jù)庫字符集信息。執(zhí)行以下查詢:SELECTuserenv(LANGUAGE) FROM dual;結(jié)

57、果為:SIMPLIFIED CHINESE_CHINA.ZHS16GBK闡明:顯示當前用戶的言語為簡體中文(SIMPLIFIED CHINESE),地域為中國(CHINA),字符集為ZHS16GBK?!揪毩?】判別用戶的角色能否為SYSDBA。 第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g4最大、最小值函數(shù)greatest前往參數(shù)列表中的最大值,least前往參數(shù)列表中的最小值。這兩個函數(shù)的參數(shù)是一個表達式列表,按表達式列表中的第一個表達式的類型對求值后的表達式求得最大或最小值。對字符的比較按ASCII碼的順序進展。假設(shè)表達式中有NULL,那么前往

58、NULL。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g【訓練5】 比較字符串的大小,前往最大值。執(zhí)行以下查詢:SELECTgreatest(ABC,ABD,abc, abd) FROM dual;執(zhí)行結(jié)果為:GRE-abd闡明:在上述四個字符串中,大小關(guān)系為abdabcABDABC。在ASCII碼表中,排在后邊的字符大,小寫字母排在大寫字母之后。字符串的比較原那么是,先比較第一位,假設(shè)一樣,那么繼續(xù)比較第二位,依此類推,直到出現(xiàn)大小關(guān)系。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g2.5 高級查詢高級查

59、詢2.5.1 多表結(jié)合查詢經(jīng)過銜接可以建立多表查詢,多表查詢的數(shù)據(jù)可以來自多個表,但是表之間必需有適當?shù)你暯訔l件。為了從多張表中查詢,必需識別銜接多張表的公共列。普通是在WHERE子句中用比較運算符指明銜接的條件。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g忘記闡明表的銜接條件是常見的一種錯誤,這時查詢將會產(chǎn)生表銜接的笛卡爾積(即一個表中的每條記錄與另一個表中的每條記錄作銜接產(chǎn)生的結(jié)果)。普通N個表進展銜接,需求至少N-1個銜接條件,才可以正確銜接。兩個表銜接是最常見的情況,只需求闡明一個銜接條件。兩個以上的表也可以進展銜接,在這里不做專門引見。第

60、第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g兩個表的銜接有四種銜接方式:* 相等銜接。* 不等銜接。* 外銜接。* 自銜接。1相等銜接經(jīng)過兩個表具有一樣意義的列,可以建立相等銜接條件。運用相等銜接進展兩個表的查詢時,只需銜接列上在兩個表中都出現(xiàn)且值相等的行才會出如今查詢結(jié)果中。第第2 2章章 數(shù)據(jù)查詢數(shù)據(jù)查詢 WEPULL ORACLE 10g ORACLE 10g在下面的練習中,將顯示雇員姓名、所在的部門編號和稱號,在雇員表emp中是沒有雇員的部門稱號信息的,只需雇員所在部門的編號,部門的信息在另外的部門表dept中,兩個表具有一樣的部門編號列de

溫馨提示

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

評論

0/150

提交評論