ORACLE第二章.ppt_第1頁
ORACLE第二章.ppt_第2頁
ORACLE第二章.ppt_第3頁
ORACLE第二章.ppt_第4頁
ORACLE第二章.ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 SQL語言基礎(chǔ),課程目標(biāo),熟練掌握SQL語言進(jìn)行單表查詢 簡單select語句 where 條件判斷 In語句 AND, OR, NOT 使用 模糊查詢 ORDER BY查詢 分組查詢 HAVING限制,SQL語言介紹,SQL語言全稱是(STRUCTURED QUERY LANGUAGE )結(jié)構(gòu)化查詢語言,是操作數(shù)據(jù)庫的通用語言,sql語言本身是一種標(biāo)準(zhǔn)語言,它是一個國際標(biāo)準(zhǔn),它定義了套標(biāo)準(zhǔn)SQL1992, SQL1999, SQL在大多數(shù)數(shù)據(jù)庫上通用,有輕微的改變,SQL語言分類,包含四大語句: 查詢語句(DQL) 查詢語句只有一種就是select語句 DML語句 DML語句包含In

2、sert,Update,Delete等常用語句,SQL語言分類,事務(wù)控制語句 包含Commit, Rollback等常用語句 還有一大類語句:叫DCL語句(Data Control Language),主要用于權(quán)限的分配與回收,由于與開發(fā)關(guān)系不是十分密切,不做重點講解 注意:最重要的就是select語句,任何select語句全部要背過,select語句必考,查詢語言介紹,SQL中訪問數(shù)據(jù)庫表是通過用戶名.數(shù)據(jù)表的形式來訪問,當(dāng)訪問屬于本身的表是可 以不用用戶名。,查詢語言介紹,1.簡單select語句: 例子1:取出一張表中所有的數(shù)據(jù) Select * from emp;,查詢語言介紹,例子2

3、:取出某些字段的值 Select empno, ename, deptno from emp ; 注意以分號結(jié)尾,大小寫無關(guān),查詢語言介紹,2.包含算術(shù)表達(dá)式的sql語句 例子1:取出emp中所有人的年薪及名字 Select ename , sal*12 from emp; 例子2:在emp表中取出2*3的結(jié)果 Select 2*3 from emp;,查詢語言介紹,例子3:取出2*3的一條記錄 Select 2*3 form dual;-當(dāng)我們需要顯示一個結(jié)果的時候就用系統(tǒng)提供的dual虛表 例子4:取出當(dāng)前系統(tǒng)時間 Select sysdate from dual;-sysdate在Ora

4、cle中表示當(dāng)前系統(tǒng)時間,查詢語言介紹,3.含有別名的sql語句 例子1:select ename, sal*12 annual_sal from emp; 例子2:如果想讓別名強(qiáng)制大小寫混合可以使用雙引號 Select ename, sal*12 “Annual_sal” from emp; 例子3:如果想讓別名中有空格也使用雙引號 Select ename, sal*12 “Annual sal” from emp;,查詢語言介紹,5.處理含有空值的字符串 例子1:算某人一年的年薪含有任何null值的數(shù)學(xué)表達(dá)式最后的結(jié)果都為null Select ename, sal*12+comm fr

5、om emp 可以通過NVL(COMM,0)函數(shù)解決,查詢語言介紹,例子2:含有任何null值的字符串表達(dá)式中,null被當(dāng)作空字符串處理 select empno, ename |and his manager number is | mgr from emp; 字符串連接符:| Select語句中用單引號表示字符串,查詢語言介紹,6.在select中使用單引號 例子1:用兩個單引號表示一個單引號 select empno, ename | s manager is | mgr from emp;,查詢語言介紹,7.消除重復(fù)值 例子1:select distinct deptno from

6、emp;-用distinct消除結(jié)果集中的重復(fù)信息 例子2:用distinct修飾多個字段的時候,指的是消除后面所有字段的組合重復(fù)結(jié)果 Select distinct job, deptno from emp;-指job和deptno都相同的刪除,查詢語言介紹,使用where對數(shù)據(jù)庫設(shè)定條件限制,where過濾條件,過濾相關(guān)的數(shù)據(jù) 等值判斷 例子1:顯示部門編號為10的所有員工的詳細(xì)信息 select * from emp where deptno = 10;,查詢語言介紹,例子2:顯示名字為KING的員工的詳細(xì)信息 判斷字符串是否相等時,字符串要用單引號引起來,單引號中字符串內(nèi)容是要區(qū)分大小

7、寫的 Select * from emp where ename = KING;,查詢語言介紹,非等值判斷( = ) 例子1:取出薪水大于2000的所有員工的名字和薪水 Select ename, sal from emp where sal 2000;,查詢語言介紹,例子3:取出所有部門號不是10的雇員的名字和薪水 Select ename, sal from emp where deptno 10; 例子4:取出薪水位于800和1500之間的雇員名字和薪水 Select ename, sal from emp where sal = 800 and sal = 1500; Select e

8、name, sal from emp where sal between 800 and 1500; 注意:使用between and 的時候,包含了最大值和最小值,查詢語言介紹,空值的處理 例子1:取出津貼值為空的所有雇員的名字 Select ename from emp where comm is null; 例子2:取出津貼不為空的所有雇員的名字 Select ename from emp where comm is not null;,查詢語言介紹,In語句:用于篩選某一個值 例子1:把薪水是800,1250, 1500, 2000 的雇員信息取出來 Select ename, sal

9、 from emp where sal in (800, 1250, 1500, 2000); 也可以用于字符串操作 例子2:把名字為SMITH, ALLEN, KING 的雇員取出來 Select ename, sal from emp where ename in (SMITH, ALLEN, KING);,查詢語言介紹,日期處理 Oracle默認(rèn)的日期格式為:DD-MON-RR 例子1:查詢在81年2月20號以后入職的員工 Select ename, hiredate from emp where hiredate 20-2月-81;,查詢語言介紹,AND, OR, NOT 例子1:查詢

10、部門標(biāo)號為10 并且薪水1000 的員工 Select ename, deptno, sal from emp where deptno = 10 and sal 1000; 例子2:查詢部門編號為10或者工作崗位為CLERK 的員工 Select ename, deptno, job from emp where deptno = 10 or job = CLEARK;,查詢語言介紹,例子3:查詢薪水沒有位于800, 1500, 2000 之中的員工 Select ename, sal from emp where sal not in (800, 1500, 2000);,模糊查詢,使用l

11、ike關(guān)鍵字,和通配符 % 表示0個或多個字符,_ 表示1個字符 例子1:查詢名字中含有ALL的人員 Select ename from emp where ename like %ALL%; 例子2:查詢第二字母中含有 A 的雇員 Select ename from emp where ename like _A%;,模糊查詢,例子3:查詢名字中含有 % 等通配符的數(shù)據(jù)時,使用轉(zhuǎn)義字符 Escape 自定義轉(zhuǎn)移字符, 系統(tǒng)默認(rèn)的轉(zhuǎn)義字符是 Select ename from emp where ename like %escape ,排序查詢,Order by 使用它order by 對數(shù)據(jù)

12、進(jìn)行排序 例子1:按照名字的升序進(jìn)行排序 Select ename, sal from emp order by ename; Select ename, sal from emp order by ename asc; 用asc關(guān)鍵字指出按升序排列,排序查詢,例子2:按照雇員編號的升序排序 Select ename , deptno from emp order by deptno; Select ename, deptno from emp order by deptno asc; 例子3:按照名字降序排列 Select ename, deptno from emp order by en

13、ame desc; 例子4:按照部門編號降序排列 Select ename, deptno from emp order by deptno desc; 默認(rèn)是升序,分組查詢,Group by 對表中的數(shù)據(jù)進(jìn)行分組 例子1:計算每個部門的平均工資 首先將現(xiàn)有數(shù)據(jù)按照部門進(jìn)行分組,然后再計算每個組員工的平均薪水。 Select deptno, avg(sal) from emp group by deptno; 例子2:計算每個部門的最大工資 Select deptno, max(sal) from emp group by deptno;,分組查詢,例子3:按照部門,和職位 的最大薪水進(jìn)行分組

14、 Select deptno, job, max(sal) from emp group by deptno, job; 使用group by 的規(guī)律:出現(xiàn)在select列表中的字段,如果沒有出現(xiàn)在組函數(shù)中,則必須出現(xiàn)在group by子句中 典型錯誤:select ename, deptno, max(sal) from emp group by deptno;,分組查詢,使用Having對分組進(jìn)行限制 如果我們要從分組數(shù)據(jù)中把某些特定的剔除去的時候,使用Having關(guān)鍵字 例子1:將平均薪水大于1000的組的平均薪水從emp這張表中選出來 Select avg(sal), deptno group by deptno having avg(sal) 1000;,分組查詢,例子2:求薪水大于1200的雇員,按照部門進(jìn)行分組,而且這些分分組后組內(nèi)平均薪水必須大于1500,要查詢分組的平均工資 Select avg(sal) from emp where sal 1

溫馨提示

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

評論

0/150

提交評論