第4章SQL語言高級課件.ppt
《第4章SQL語言高級課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《第4章SQL語言高級課件.ppt(50頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Oracle4g 數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009第4章 SQL語言高級 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009本章內(nèi)容p多列分組查詢p累計統(tǒng)計查詢p層次查詢p多表插入pSQL函數(shù) Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.1 多列分組統(tǒng)計pROLLUP pCUBEpGROUPINGpGROUPING SETS Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p使用ROLLUP選項,除了生成基于所有指定列的分組統(tǒng)計外,還對指定的分組列從左開始的每個子集進行統(tǒng)計。例如,GROUP BY ROLLUP(A,B,C)形成的統(tǒng)計包括:pGROUP BY ():不基于
2、任何列的整個查詢結(jié)果的統(tǒng)計。pGROUP BY A:基于A列的分組統(tǒng)計。 pGROUP BY A,B:基于A、B兩列的分組統(tǒng)計。pGROUP BY A,B,C:基于A、B、C三列的分組統(tǒng)計。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 n SELECT department_id,job_id,avg(salary) FROM employees WHERE department_id IN(4,20,30) GROUP BY ROLLUP(department_id,job_id) Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p使用CUBE選項,除了生成基于所有指定列的分組
3、統(tǒng)計外,還對指定分組列的所有子集進行統(tǒng)計。例如,GROUP BY CUBE(A,B,C)形成的統(tǒng)計包括:p GROUP BY ():不基于任何列的整個查詢結(jié)果的統(tǒng)計。p GROUP BY A:基于A列的分組統(tǒng)計。p GROUP BY B:基于B列的分組統(tǒng)計。 p GROUP BY C:基于C列的分組統(tǒng)計。p GROUP BY A,B:基于A、B兩列的分組統(tǒng)計。p GROUP BY A,C:基于A、C兩列的分組統(tǒng)計。p GROUP BY B,C:基于B、C兩列的分組統(tǒng)計。p GROUP BY A,B,C:基于A、B、C三列的分組統(tǒng)計。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 n S
4、ELECT department_id,job_id,avg(salary) FROM employees WHERE department_id IN(4,20,30) GROUP BY CUBE(department_id,job_id); Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p為了了解每個統(tǒng)計結(jié)果是基于哪些列統(tǒng)計而來的,可以使用GROUPING函數(shù),函數(shù)返回值為1時,表示該列沒有參與統(tǒng)計;函數(shù)返回值為0時,表示該列參與了統(tǒng)計。n SQLSELECT department_id,job_id,avg(salary), n grouping(department_id) di
5、d,grouping(job_id) jidn FROM hr.employees WHERE department_id IN(4,20,30)n GROUP BY CUBE(department_id,job_id); Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p合并分組查詢n使用GROUPING SETS可以將幾個單獨的分組查詢合并成一個分組查詢 n SELECT department_id,job_id,avg(salary) n FROM employees n GROUP BY GROUPING n SETS(department_id,job_id); Oracle 4
6、g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p GROUPING SETS語句的作用就是使用一個語句得到多個分組統(tǒng)計的結(jié)果集。要注意嵌套列與非嵌套列的區(qū)別。嵌套列與單個GROUP BY語句作用相同;非嵌套列相當(dāng)于將多個單獨的GROUP BY語句查詢結(jié)果,采用UNION ALL方式的合并起來。例如: n GROUP BY GROUPING SETS(A,B,C):等價于GROUP BY A,B,C。n GROUP BY GROUPING SETS(A,B,C):等價于GROUP BY A UNION ALL GROUP BY B UNION ALL GROUP BY C。n GROUP BY GROUP
7、ING SETS(A,(B,C):等價于GROUP BY A UNION ALL GROUP BY B,C。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.2 累計查詢p在執(zhí)行統(tǒng)計查詢時,可以將聚集函數(shù)與OVER函數(shù)相結(jié)合,進行總體累計統(tǒng)計查詢或分組累計統(tǒng)計查詢p總體累計統(tǒng)計p分組累計統(tǒng)計 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p總體累計統(tǒng)計的每一個統(tǒng)計結(jié)果都是針對之前的所有記錄進行的,在OVER函數(shù)中使用ORDER BY語句指定統(tǒng)計的順序,如果不指定ORDER BY語句,則不進行累計統(tǒng)計。n SELECT employee_id, n sum(salary) OVE
8、R(ORDER BY employee_id) sal,count(*) OVER(ORDER BY employee_id) num,sum(salary) over() total_sal,count(*) over() total_num FROM hr.employees; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p如果在進行累計統(tǒng)計時,需要按組進行,則需要使用PARTITION子句指定累計統(tǒng)計的分組列。n SQLSELECT department_id,employee_id, sum(salary) OVER(n PARTITION BY department_id O
9、RDER BY employee_id) sal, n count(*) OVER(PARTITION BY department_id ORDER BY employee_id) n num FROM hr.employees; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.3 層次查詢p層次查詢(hierarchical_query),又稱樹形查詢,能夠?qū)⒁粋€表中的數(shù)據(jù)按照記錄之間的聯(lián)系以樹狀結(jié)構(gòu)的形式顯示出來。 p層次查詢的語法為n SELECT LEVEL, column,expression.n FROM table n WHERE conditionn START WI
10、TH column = valuen CONNECT BY condition; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p參數(shù)說明,n LEVEL:偽列,表示記錄的層次;n WHERE:記錄(節(jié)點)選擇條件;n START WITH:層次查詢的起始記錄(起始節(jié)點)n CONNECT BY:指定父記錄與子記錄之間的關(guān)系及 分支選擇條件。必須使用PRIOR引用父記錄,形式為 PRIOR column1=column2或 column1=PRIOR column2。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p利用分級查詢顯示emp表中員工與領(lǐng)導(dǎo)之間的關(guān)系(從高到低)。 p
11、SELECT empno,ename,mgr FROM empp START WITH empno=7839p CONNECT BY PRIOR empno=mgr; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 p EMPNO ENAME MGRp -p 7839 KINGp 7566 JONES 7839p 7788 SCOTT 7566p 7876 ADAMS 7788 p 7902 FORD 7566p 7369 SMITH 7902p 7698 BLAKE 7839p 7499 ALLEN 7698p 7521 WARD 7698p 7654 MARTIN 7698p 784
12、4 TURNER 7698p 7900 JAMES 7698p 7782 CLARK 7839p 7934 MILLER 7782 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p查詢顯示工資大于2000且最高領(lǐng)導(dǎo)為JONES的員工信息。p SELECT empno,ename,mgr,sal FROM emp p WHERE sal2000p START WITH ename=JONESp CONNECT BY PRIOR empno=mgr; p EMPNO ENAME MGR SALp -p 7566 JONES 7839 3075p 7788 SCOTT 7566 340p 79
13、02 FORD 7566 340 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p查詢員工信息,不包括以7698號員工為最高領(lǐng)導(dǎo)的員工p SELECT empno,ename,mgr FROM empp START WITH empno=7839p CONNECT BY PRIOR empno=mgr AND empno!=7698;p EMPNO ENAME MGR p -p 7839 KINGp 7566 JONES 7839p 7788 SCOTT 7566p 7876 ADAMS 7788p 7902 FORD 7566p 7369 SMITH 7902p 7782 CLARK
14、7839p 7934 MILLER 7782 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT lpad( ,5*LEVEL-1)|empno EMPNO,p lpad( ,5*LEVEL-1)|ename ENAME p FROM emp p START WITH empno=7839 p CONNECT BY PRIOR empno=mgr; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.4向多個表中插入數(shù)據(jù) p在Oracle 4g中,可以使用INSERT語句同時向多個表中插入數(shù)據(jù)。p根據(jù)數(shù)據(jù)插入的條件不同,分為:n無條件插入:將數(shù)據(jù)插入所有指定的表中n有條
15、件插入:將數(shù)據(jù)插入符合條件的表中。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p無條件多表插入的基本語法為n INSERT ALL n INTO table1 VALUES(column1,column2,)n INTO table2 VALUES(column1,column2,)nn subquery;p利用無條件多表插入,將emp表中工資高于2000的員工信息查詢后分別插入emp_sal和emp_mgr表。 n INSERT ALLn INTO emp_sal VALUES(empno,hiredate,sal)n INTO emp_mgr VALUES(empno,mgr,s
16、al)n SELECT empno,hiredate,mgr,sal FROM emp n WHERE sal2000; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p有條件多表插入語法為n INSERT ALL|FIRST n WHEN condition1 THEN INTO table1(column1,) n WHEN condition2 THEN INTO table2(column1,)n n ELSE INTO tablen(column1,)n subquery;p參數(shù)說明n ALL:表示一條記錄可以同時插入多個滿足條件的表中;n FIRST:表示一條記錄只插入第一個
17、滿足條件的表中。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p將emp表中的員工信息按不同部門號分別復(fù)制到emp4,emp20,emp30和emp_other表中。 n INSERT FIRSTn WHEN deptno=4 THEN INTO emp4n WHEN deptno=20 THEN INTO emp20 n WHEN deptno=30 THEN INTO emp30n ELSE INTO emp_othern SELECT * FROM emp; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p將emp表中員工信息按照不同部門號分別復(fù)制到emp4,emp20,e
18、mp30和emp_other表中。同時,將工資低于2000的員工信息復(fù)制到lowsal表中,將工資高于4000的員工信息復(fù)制到highsal表中,將工資在20003000之間的員工信息復(fù)制到middlesal表中。n INSERT ALL n WHEN deptno=4 THEN INTO emp4n WHEN deptno=20 THEN INTO emp20n WHEN deptno=30 THEN INTO emp30n WHEN deptno=40 THEN INTO emp_othern WHEN sal4000 THEN INTO highsaln ELSE INTO middle
19、sal n SELECT * FROM emp; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p INSERT ALLp WHEN SAL 4000 THENp INTO sal_history VALUES(EMPID,HIREDATE,SAL)p WHEN MGR 200 THENp INTO mgr_history VALUES(EMPID,MGR,SAL) p SELECT employee_id EMPID,hire_date HIREDATE, p salary SAL, manager_id MGR p FROM employeesp WHERE employee_id
20、200; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p多表插入的應(yīng)用n利用多表插入技術(shù)可以實現(xiàn)不同數(shù)據(jù)源之間的數(shù)據(jù)轉(zhuǎn)換,可以將非關(guān)系數(shù)據(jù)庫的一條記錄轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫中的多條記錄。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p將SALES_SOURCE_DATA表中的記錄轉(zhuǎn)換為SALES_INFO表中的記錄。n CREATE TABLE sale_source_data( emp_id NUMBER(6), week_id NUMBER(2), sale_MON NUMBER(8,2), sale_TUE NUMBER(8,2), sale_WED NUMBER(8,2),
21、sale_THUR NUMBER(8,2), sale_FRI NUMBER(8,2); n INSERT INTO sale_source_data VALUES(7844,1,40,200,300,400,500); Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p CREATE TABLE sale_info( emp_id NUMBER(6), week NUMBER(2), sale NUMBER(8,2);p INSERT ALL INTO sale_info VALUES (emp_id,week_id,sale_MON) INTO sale_info VALUES (em
22、p_id,week_id,sale_TUE) INTO sale_info VALUES (emp_id,week_id,sale_WED) INTO sale_info VALUES (emp_id,week_id,sale_THUR) INTO sale_info VALUES (emp_id,week_id, sale_FRI) SELECT * FROM sale_source_data; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.5 SQL函數(shù)pSQL函數(shù)分類p數(shù)值函數(shù)p字符函數(shù)p日期函數(shù)p轉(zhuǎn)換函數(shù)p其他函數(shù) Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.
23、5.1 SQL函數(shù)分類p根據(jù)參數(shù)作用行數(shù)的不同,可以分為:n單行函數(shù)n多行函數(shù)p根據(jù)參數(shù)類型不同,可以分為:n數(shù)值函數(shù)n字符函數(shù) n日期函數(shù)n轉(zhuǎn)換函數(shù)n聚集函數(shù) Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.5.2 數(shù)值函數(shù)函數(shù)返回值A(chǔ)BS(n)返回n的絕對值CEIL(n)返回大于或等于n的最小整數(shù)EXP(n)返回e的n次冪FLOOR(n)返回小于或等于n的最大整數(shù)LN(n)返回以E為底的n的對數(shù)LOG(m,n)返回以m為底的n的對數(shù) MOD(m,n)返回m除以n的余數(shù)PI( )返回常數(shù)3.1515926535897931POWER(m,n)返回m的n次方 Oracle 4g數(shù) 據(jù)
24、 庫 基 礎(chǔ) 教 程2009ROUND(m,n)對m進行四舍五入(n大于0時,將m四舍五入到小數(shù)點右邊n位,n等于零時,表示對m進行取整,n小于0時,則小數(shù)點左邊的數(shù)字位置被圓整。SIGN(n)判斷n的正負(n大于0返回,n等于0返回0,n小于0返回-1SQRT(n)返回n的平方根SQUARE(n)返回n的平方 TRUNC(m,n)對m進行截斷操作(n截斷到小數(shù)點后第n位,如果n未給出,則系統(tǒng)默認(rèn)為0,n也可以為負數(shù),表示小數(shù)點左邊的數(shù)字位置被刪除成零。 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT salary/22 daysal,round(salary/22,1)
25、,p trunc(salary/22,1), round(salary/22,-1),trunc(salary/22,-1) p FROM employees;p SELECT salary,width_bucket(salary,400,4000,4) p FROM employees WHERE department_id=30; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT floor(3.5),ceil(3.5),mod(5,3), remainder(5,3), mod(4,3),remainder(4,3) FROM dual;p FLOOR(3.5) CE
26、IL(3.5) MOD(5,3) REMAINDER(5,3) MOD(4,3) REMAINDER(4,3) - 3 4 2 -1 1 1 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.5.3 字符函數(shù)函數(shù)返回值A(chǔ)SCII(char)字符串首字符的ASC碼值CHR(n) ASC碼值為n的字符CONCAT把兩個列值拼接起來;“|”操作符更通用INITCAP(char)將字符串中每個單詞的首字母大寫INSTR(char1,char2,a,b)INSTRB(char1,char2,a,b)返回指定字符的位置 LENGTH(char)LENGTHB(char)計算字符串的長度SUBSTR
27、(char,m,n)求子串。column中從起始位置m開始長度為n的子串Replace(str1,str2,str3) Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009LOWER(char)、UPPER(char)將字符串中所有的大寫字母變?yōu)樾?大)寫LPAD(char1,n,char2)從左側(cè)用字符串char2補齊字符串char1至長度n(右對齊)RPAD(char1,n,char2)從右側(cè)用char2補齊char1至長度n.LTRIM(char,SET)把char中最左側(cè)的若干個字符去掉,以使其首字符不在SET中RTRIM(char,SET)把char中最右側(cè)的若干個字符去掉,以使其
28、尾字符不在SET中TRIM(leading|trailing|both FROM string) Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT lpad(abc,5, #) leftpad,rpad(abc,5, #) rightpad, ltrim(abcd, a) lefttrim,rtrim(abcde, e) righttrim, substr(abcd,2,3) substring FROM dual; p LEFTPAD RIGHTPAD LEFTTRIM RIGHTTRIM SUBSTRING - - - - - #abc abc# bcd abcd bc
29、d Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT employee_id,p concat(concat(first_name, ),last_name) employee_name p FROM employees p WHERE employee_id=48; p SELECT instr(abcde,b) position,replace(oracle9i,9i,4g) p newstring,soundex(hello) soundp FROM dual;p POSITION NEWSTRING SOUND - 2 oracle4g H400 Oracle 4g
30、數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.5.4 日期函數(shù)p日期函數(shù)是指對日期進行處理的函數(shù),函數(shù)輸入為DATE或TIMESTAMP類型的數(shù)據(jù),輸出為DATE類型的數(shù)據(jù)(除MONTH_BETWEEN函數(shù)返回整數(shù)以外)。p Oracle數(shù)據(jù)庫中日期的默認(rèn)格式為DD-MON-YY??梢酝ㄟ^設(shè)置NLS_DATE_FORMAT參數(shù)設(shè)置當(dāng)前會話的日期格式,通過NLS_LANGUAGE參數(shù)設(shè)置表示日期的字符集。例如: n ALTER SESSION SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS;n ALTER SESSION SET NLS_LANGUAGE=AMERI
31、CAN; Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009函數(shù)返回值A(chǔ)DD_MONTHS(d,n)返回日期 d 添加 n 個月的日期CURRENT_DATE返回系統(tǒng)當(dāng)前日期和時間CURRENT_TIMESTAMP(p) 返回系統(tǒng)當(dāng)前時間戳EXTRACT(depart FROM d) 返回d中depart對應(yīng)部分的內(nèi)容 LAST_DAY(d)返回d所在月份最后一天的日期LOCALTIMESTAMP(P)返回本地時間戳 LOCALTIMESTAMP(p)返回當(dāng)前會話時區(qū)所對應(yīng)的日期時間MONTHS_BETWEEN(d1,d2)日期d1和d2之間相隔的月數(shù)NEXT_DAY(d,day) d后第一
32、周指定的日期。ROUND(d,format)日期d按format格式進行舍入 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009SYSDATE返回系統(tǒng)當(dāng)前日期和時間。SYSTIMESTAMP 返回系統(tǒng)當(dāng)前時間戳。TRUNC(d,format)返回截尾到由format指定單位的日期TO_CHAR (d,,fmt, nlsparam)將日期時間d轉(zhuǎn)換為符合特定格式的字符串TO_TIMESTAMP(char,fmt, nlsparam)將符合特定日期和時間格式的字符串轉(zhuǎn)換為TIMESTAMP類型值 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT SYSDATE,add_mon
33、ths(sysdate,2) ADDM, next_day(sysdate,2) NEXTD,Last_day(sysdate) LASTD, round(sysdate, MONTH) ROUNDM, trunc(sysdate, MONTH ) TRUNCM FROM DUAL; p SYSDATE ADDM NEXTD LASTD ROUNDM TRUNCM - - - - - - 2009-03-27 2009-05-27 2009-03-30 2009-03-31 2009-04-01 2009-03-01 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT ext
34、ract(YEAR FROM SYSDATE) YEAR, extract(DAY FROM SYSDATE) DAY , extract(HOUR FROM SYSTIMESTAMP) HOUR,extract(MINUTE FROM SYSTIMESTAMP) MINUTE FROM DUAL; p YEAR DAY HOUR MINUTE - 2009 28 14 44 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT dbtimezone,localtimestamp, numtoyminterval(20,MONTH) DAY_SECOND FROM dual;
35、p DBTIMEZONE LOCALTIMESTAMP YEAR_MONTH - +00:00 28-3月-09 4.56.04.882000 下午 +000000001-08 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.5.5 轉(zhuǎn)換函數(shù)函 數(shù)說 明CAST(expr AS datatype)將表達式expr按指定的類型返回CHARTOROWID(char)將字符串換轉(zhuǎn)換為ROWID類型HEXTORAW(char)將十六進制數(shù)轉(zhuǎn)換為二進制數(shù)RAWTOHEX(raw)將二進制數(shù)轉(zhuǎn)換為十六進制數(shù)ROWIDTOCHAR(rowid)將ROWID類型轉(zhuǎn)換為字符類型TO_CHAR(d,fm
36、t)將日期d按指定格式轉(zhuǎn)換為字符串 TO_CHAR(num,fmt)將數(shù)值按指定格式轉(zhuǎn)換為字符串TO_DATE(char,fmt)將字符串按指定格式轉(zhuǎn)換為日期TO_CLOB(char)將字符串轉(zhuǎn)換為CLOB類型數(shù)據(jù)TO_NUMBER(char,fmt)將字符串按指定格式轉(zhuǎn)換為數(shù)值 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT to_date(09-3-28, yy-mm-dd) CHARTODATE, to_char(sysdate, yyyy-mm-dd hh:mi:ss) DATETOCHAR, to_char(123, $9999.99) NUMTOCHAR, t
37、o_number($1234.56,$9999.99) CHARTONUMBER FROM DUAL; p CHARTODATE DATETOCHAR NUMTOCHAR CHARTONUMBER - 28-3月 -09 2009-03-29 12:53:54 $123.00 1234.56 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT timestamp_to_scn(systimestamp) SCN, scn_to_timestamp(2790424) TIMESTAMP FROM dual; p SCN TIMESTAMP - 2790484 29-3月 -09
38、 12.58.20.000000000 上午 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009 4.5.6 其他函數(shù)函 數(shù)說 明GREATEST(expr1,expr2,)返回幾個表達式中的最大值LEAST(expr1,expr2,)返回幾個表達式中的最小值NULLIF(expr1,expr2)如果expr1與expr2相等,則函數(shù)返回NULL,否則返回exp1NVL(expr1,expr2)如果expr1為NULL,則返回expr2,否則返回expr1NVL2(expr1,expr2,exp3)如果expr1為NULL,則返回expr3,否則返回expr2 UID返回當(dāng)前會話的用戶IDUSER返回當(dāng)前會話的數(shù)據(jù)庫用戶名DECODE(base_expr,expr1,value1,expr2,value2,default)如果base_expr=exprn,則返回valuen的值 Oracle 4g數(shù) 據(jù) 庫 基 礎(chǔ) 教 程2009p SELECT employee_id, p salary+nvl(commission_pct*salary,0) totalsalaryp FROM .employees p WHERE department_id=30;
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案