ORACLE基礎學習培訓課件_第1頁
ORACLE基礎學習培訓課件_第2頁
ORACLE基礎學習培訓課件_第3頁
ORACLE基礎學習培訓課件_第4頁
ORACLE基礎學習培訓課件_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Oracle數(shù)據(jù)庫管理系統(tǒng)

第四講簡單查詢課程目標在查詢中對結果進行排序在查詢中過濾行在查詢語句中使用函數(shù)123第四講簡單查詢一、在查詢中過濾行查看表結構查詢所有列查詢指定列不顯示重復行?查詢SMITH的薪水、工作、所在部門號第四講簡單查詢一、在查詢中過濾行?如何顯示工資高于3000的員工?如何查找1982年以后入職的員工?如何顯示工資在2000到2500之間的員工注:字符和日期要包含在單引號中,字符大小寫敏感第四講簡單查詢一、在查詢中過濾行使用WHERE子句,將不滿足條件的行過濾掉SELECT *|

{[DISTINCT]column|expression[alias],...}FROM table[WHERE condition(s)];第四講簡單查詢一、在查詢中過濾行使用算術表達式?如何顯示每個雇員的年薪使用列的別名如何處理null如何連接字符串第四講簡單查詢一、在查詢中過濾行比較操作符=、>、<、>=、<=、!=、<>SQL操作符between…and…notbetween…and…innotinlikenotlikeisnullisnotnul邏輯運算符andornot第四講簡單查詢一、在查詢中過濾行IN(set)

與集合set中的值進行匹配?如何顯示部門號為10或20的員工信息第四講簡單查詢一、在查詢中過濾行LIKE

匹配字符模式%代表任意多個字符,_代表一個字符

?如何顯示首字母是S的員工姓名、工資?如何顯示第三個字符為大寫O的員工姓名和工資第四講簡單查詢一、在查詢中過濾行邏輯運算符?查找工資高于1000或者崗位是MANAGER,同時名字首字母為J

的員工信息第四講簡單查詢二、對查詢結果進行排序使用

ORDERBY

子句排序ASC:升序DESC:降序注意:ORDERBY

子句在SELECT語句的結尾。第四講簡單查詢二、對查詢結果進行排序?按工資從低到高的形式顯示雇員信息?按部門升序、工資降序排序使用列的別名排序?按年薪升序排序第四講簡單查詢三、單行函數(shù)第四講簡單查詢三、單行函數(shù)什么是單行函數(shù)單行函數(shù)也稱標量函數(shù),對于從表中查詢的每一行,該函數(shù)都返回一個值。單行函數(shù)可以出現(xiàn)在SELECT子句中,也可以出現(xiàn)在WHERE子句中。第四講簡單查詢三、單行函數(shù)單行函數(shù)的分類單行函數(shù)字符數(shù)字日期轉換通用第四講簡單查詢三、單行函數(shù)(字符函數(shù))大小寫處理函數(shù)lowerupperinitcap字符串處理函數(shù)concatsubstrlengthinstrlpad|rpadtrimreplace第四講簡單查詢三、單行函數(shù)(字符函數(shù))函數(shù)結果concat(‘Yinhe’,’Java15’)YinheJava15substr(‘YinheJava15’,2,6)inheJalength(‘YinheJava15’)11instr(‘YinheJava’,’a’,3,1)7lpad(‘Yinhe’,10,’*’)*****Yinherpad(‘Yinhe’,10,’*’)Yinhe*****trim('Y'FROM'YinheJava')inheJavareplace('YinheJava15','J','j')Yinhejava15第四講簡單查詢二、對查詢結果進行排序?員工名字按?。ù螅懛绞斤@示?顯示名字正好為5個字符的員工姓名?顯示所有員工姓名的前三個字符?以首字母小寫的方式顯示員工姓名第四講簡單查詢三、單行函數(shù)(字符函數(shù))trim(leading/trailing/both‘子串’FROM‘字符串或列’)----把子串從字符串或列的頭/尾/兩端刪除,如缺省則默認為從兩端刪除SQL>SELECTtrim(leading's'FROM'servicesservices')FROMdual;TRIM(LEADING'S'FROM'SERVICESSE------------------------------ervicesservicesSQL>SELECTtrim(trailing's'FROM'servicesservices')FROMdual;TRIM(TRAILING'S'FROM'SERVICESS------------------------------servicesservice第四講簡單查詢三、單行函數(shù)(字符函數(shù))SQL>SELECTtrim(both's'FROM'servicesservices')FROMdual;TRIM(BOTH'S'FROM'SERVICESSERVI------------------------------ervicesserviceSQL>SELECTtrim('s'FROM'servicesservices')FROMdual;TRIM('S'FROM'SERVICESSERVICES'------------------------------ervicesservice?selecttrim(‘a(chǎn)bc')||'de'fromdual;第四講簡單查詢三、單行函數(shù)(數(shù)值函數(shù))ROUND:四舍五入ROUND(45.926,2)

TRUNC:

截斷TRUNC(45.926,2)

MOD:求余MOD(1600,300)

FLOOR:

向下取整FLOOR(45.926)

CEIL:向上取整CEIL(45.926)

第四講簡單查詢三、單行函數(shù)(數(shù)值函數(shù))ROUND:四舍五入格式:round(m,n)ROUND函數(shù)四舍五入列、表達式或者n位小數(shù)的值。如果第二個參數(shù)是0或者缺少,值被四舍五入為整數(shù)。如果第二個參數(shù)是2,值被四舍五入為兩位小數(shù)。如果第二個參數(shù)是–2,值被四舍五入到小數(shù)點左邊兩位。ROUND函數(shù)可以被用于日期函數(shù)。?SELECTround(45.923,2),round(45.923,0),round(145.923,-2)FROMdual;?顯示在1個月為30天的情況下,所有員工的日薪,忽略余數(shù)第四講簡單查詢三、單行函數(shù)(日期函數(shù))日期函數(shù)(SYSDATE:取系統(tǒng)日期函數(shù))

默認的日期格式是

DD-MON-RR,更改默認的日期格式:SQL>altersessionsetnls_date_format='yyyy-mm-dd';函數(shù)描述MONTHS_BETWEEN兩個日期之間的月數(shù)ADD_MONTHS加月數(shù)到日期NEXT_DAY下一個星期幾是幾號LAST_DAY指定月的最后一天ROUND四舍五入日期TRUNC截斷日期第四講簡單查詢三、單行函數(shù)(日期函數(shù))MONTHS_BETWEEN

返回兩個指定日期之間的月數(shù)?顯示入職300個月以上的員工信息ADD_MONTHS

返回給指定的日期加上指定的月數(shù)后的日期值

?顯示入職300個月以上的員工信息第四講簡單查詢三、單行函數(shù)(日期函數(shù))NEXT_DAY

返回指定日期以后的第一個星期幾的日期?返回當前日期的下一個星期二的日期LAST_DAY

返回指定日期當月的最后一天的日期值第四講簡單查詢三、單行函數(shù)(日期函數(shù))ROUND

返回日期值,此日期四舍五入為格式模型指定的單位格式:round(d,[fmt])說明:fmt是一個可選項,日期默認舍入為最靠近的那一天。如果指定格式為年“year”,則舍入到年的開始,即1月1日;如果指定格式為月“month”,則舍入到月的第一日;如果指定格式為周“day”,則舍入到最靠近的星期日。實例第四講簡單查詢三、單行函數(shù)(日期函數(shù))TRUNC

TRUNC函數(shù)將指定日期截斷為由格式模型指定的單位的日期,與ROUND不同的是它只舍不入格式:trunc(d,[fmt])說明:它使用與ROUND函數(shù)相同的格式模型。如果不指定fmt,日期則被截斷為天。第四講簡單查詢三、單行函數(shù)(日期函數(shù))?顯示入職滿10年的員工信息?顯示各月倒數(shù)第三天受雇的所有員工?顯示員工進入公司的天數(shù)第四講簡單查詢三、單行函數(shù)(日期函數(shù))日期的數(shù)學運算在日期上加上或減去一個數(shù)字結果仍為日期。兩個日期相減返回日期之間相差的天數(shù)。第四講簡單查詢三、單行函數(shù)(轉換函數(shù))轉換函數(shù)

轉換函數(shù)將值從一種數(shù)據(jù)類型轉換為另外一種數(shù)據(jù)類型

轉換函數(shù)種類:TO_CHARTO_DATETO_NUMBER第四講簡單查詢三、單行函數(shù)(轉換函數(shù))轉換函數(shù)-TO_CHAR語法:TO_CHAR轉化函數(shù)將日期以fmt指定的格式轉換為varchar2數(shù)據(jù)類型的值。如果省略了fmt,那么日期將以默認的日期格式轉換為varchar2型。舉例:

selectto_char(sysdate,’yyyy-mm-dd’)fromdual; selectto_char(1210.73,'$9,999.00')fromdual;TO_CHAR(date,'fmt')TO_CHAR(number,'fmt')第四講簡單查詢三、單行函數(shù)(轉換函數(shù))轉換函數(shù)-日期模式YYYY/rrrr年的四位數(shù)字表示YEAR年英文拼出MM月份的兩位數(shù)字表示MONTH月份的全稱MON月份的三位字母表示(英文)DY星期的三位字母表示(英文)DAY星期的全稱DD日期的兩位數(shù)字表示第四講簡單查詢三、單行函數(shù)(轉換函數(shù))轉換函數(shù)-數(shù)字模式9表示一個數(shù)字0強制顯示0$放置美元符號L使用當?shù)氐耐ㄘ浄?打印小數(shù)點,打印千位分隔符第四講簡單查詢三、單行函數(shù)(轉換函數(shù))轉換函數(shù)-TO_DATE語法:TO_DATE轉化函數(shù)將char或varchar數(shù)據(jù)類型轉換為日期數(shù)據(jù)類型。格式模型fmt指定字符的形式。舉例:selectto_date(sysdate,’yyyy-mm-dd’)fromdual;TO_NUMBER(char[,'fmt'])TO_DATE(char[,'fmt'])第四講簡單查詢三、單行函數(shù)(轉換函數(shù))通用函數(shù)

幾種用來轉換NULL值的單行函數(shù):NVL(expr1,expr2)NVL2(expr1,expr2,expr3)NULLIF(expr1,expr2)第四講簡單查詢三、單行函數(shù)(轉換函數(shù))通用函數(shù)NVL(expr1,expr2)如果expr1為null,則返回expr2。如果expr1不為null,則返回expr1。舉例: selectnvl(comm,0)fromemp;第四講簡單查詢三、單行函數(shù)(轉換函數(shù))通用函數(shù)NVL2(expr1,expr2,expr3) 如果expr1為

溫馨提示

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

評論

0/150

提交評論