




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章
多表查詢與組函數(shù)玉不琢,不成器;人不學,不知道。2鑒賞3什么是oracle函數(shù)?回顧與作業(yè)點評函數(shù)分為哪幾類?請說出幾個常用的函數(shù)?5預習檢查什么是組函數(shù)?groupby的作用?連接查詢的分類?(提示一共分四類)6內容進度組函數(shù)使用groupby進行分組使用having過濾子查詢連接查詢8自關聯(lián)組函數(shù)什么是組函數(shù)也叫聚合函數(shù),多行輸入一行輸出。普通函數(shù)是一行輸入一行輸出常見的五種組函數(shù)MAX()求最大值
求員工的最大工資selectmax(sal)fromempMIN()求最小值
AVG()求平均值
SUM()求和
COUNT()求總共多少條記錄,例如:求10號部門一共有多少個員工
selectcount(*)fromempwheredeptno=1014內容進度使用groupby進行分組組函數(shù)使用having過濾子查詢連接查詢8自關聯(lián)使用groupby進行分組使用groupby對查詢后的記錄進行分組需求1:求每個部門的平均薪水selectdeptno,avg(sal)asavg_salfromempgroupbydeptno
groupby分組規(guī)則如果分組了,select后面的字段要么是分組的條件,要么是五個組函數(shù)之一小技巧:一說每個就要分組了哦,而且每后面的就是分組的條件14使用groupby進行分組需求2:每個部門同一個職位的最大工資 selectdeptno,job,max(sal)fromempgroupbydeptno,job14內容進度使用having進行過濾組函數(shù)使用groupby進行分組子查詢連接查詢8自關聯(lián)使用having進行過濾使用having對分組以后的數(shù)據(jù)進行再過濾where語句是對單條記錄進行過濾的,不能過濾分組之后的記錄
執(zhí)行語句的時候首先執(zhí)行where語句然后把查到的記錄進行分組
要想過濾分組后的數(shù)據(jù),用having需求1:按照部門編號進行分組,分組之后求每一個部門的平均薪水,要求顯示平均薪水大于2000的部門的部門編號和平均薪水 selectdeptno,avg(sal)fromemp groupbydeptno havingavg(sal)>2000;
14使用having進行過濾需求2:薪水大于1200的雇員,按照部門編號進行分組,分組之后平均薪水必須大于1500,求分組內的平均工資,平均工資按倒序排列selectavg(sal)fromempwheresal>1200groupbydeptnohavingavg(sal)>1500orderbyavg(sal)descSql語句總結(共五行)select*fromempwhere條件groupby分組條件having對分組進行過濾orderby排序條件
14內容進度子查詢組函數(shù)使用groupby進行分組使用having進行過濾連接查詢8自關聯(lián)子查詢查詢的分類簡單查詢:是查一次一個select復雜查詢分為子查詢和連接查詢子查詢(也叫嵌套查詢)查多次,多個select嵌套出現(xiàn),第一次的查詢結果可以作為第二次的查詢條件或表名需求:求最大工資那個人的姓名和薪水
第一步:求最大工資selectmax(sal)fromemp
第二步:求最大工資那個人叫什么 selectename,salfromempwheresal=5000
第三步合并selectename,salfromempwheresal=(selectmax(sal)fromemp);
14子查詢需求2:哪些人得工資位于所有人得平均工資之上1.求平均工資 selectavg(sal)fromemp2.工資大于平均工資的人的姓名、工資 selectename,salfromempwheresal>2073.214285714293.合并 selectename,salfromempwheresal>(selectavg(sal)fromemp)
14學生練習需求:查SMITH的上司叫什么1.查SMITH的上司的編號selectmgrfromempwhereename='SMITH';--79022.查上司叫什么selectenamefromempwhereempno=7902;--FORD3.合并selectenamefromempwhereempno=(selectmgrfromempwhereename='SMITH')
14內容進度連接查詢組函數(shù)使用groupby進行分組使用having進行過濾子查詢8自關聯(lián)連接查詢什么是連接查詢查詢多張表的數(shù)據(jù),把多張表連接起來查詢叫連接查詢?yōu)槭裁从没蚴裁磿r候用?當數(shù)據(jù)來自多張表的時候,考慮使用連接查詢連接查詢分類內連接外連接交叉連接自然連接14內連接內連接需求:查詢員工姓名、薪水、部門名稱 selecte.ename,e.sal,d.dnamefromdeptdinnerjoinempe on(d.deptno=e.deptno)14外連接外連接分類外連接分為:左外連接、右外連接、全外連接左外連接在內連接的基礎上,保證左表的數(shù)據(jù)都有(右表的字段用空補全)select*fromdeptleftouterjoinempon(dept.deptno=emp.deptno)14外連接右外連接在內連接的基礎上,保證右表的數(shù)據(jù)都有(左表的字段用空補全) select*fromdeptrightouterjoinemp on(dept.deptno=emp.deptno)14外連接全外連接在內連接的基礎上保證左右表的數(shù)據(jù)都有(左連接和右連接的并集) select*fromdeptfullouterjoinemp on(dept.deptno=emp.deptno)外連接語句中的outer關鍵字可以省略14交叉連接和自然連接交叉連接(笛卡爾積)左表的每條記錄和右表的每條記錄首尾相連 selectename,dnamefromemp,dept//1992sql selectename,dnamefromdeptcrossjoinemp//1999sql左表4條*右表14=查詢結果共56條自然連接select*fromdeptnaturaljoinemp
和內連接類似,只是有以下區(qū)別以左右兩表相同名稱的字段作為連接條件相當于加上
on(dept.deptno=emp.deptno)去掉重復的字段(即名稱相同、類型也相同的字段)14等值連接和非等值連接等值連接和非等值連接根據(jù)連接條件是否相等,可以把連接查詢分為等值連接和非等值連接等值連接selectename,dnamefromempjoindept on(emp.deptno=dept.deptno);//1999sql非等值連接(演示連接三張表)需求:查詢姓名、薪水、部門名稱、薪水等級selectemp.ename,emp.sal,dept.dname,salgrade.gradefromdeptinnerjoinemp on(dept.deptno=emp.deptno) innerjoinsalgrade on(emp.salbetweensalgrade.losalandsalgrade.hisal)14內容進度自關聯(lián)組函數(shù)使用groupby進行分組使用having進行過濾子查詢8連接查詢自關聯(lián)特殊的連接查詢:自關聯(lián)連接查詢時,左右兩張表是同一張表
為一張表取不同的別名,當成兩張表來用需求1:SMITH這個人的名字以及他的經(jīng)理人的名字 selectemployee.ename,manager.enamefromempmanagerinnerjoinempemployee on(manager.empno=employee.mgr)whereemployee.ename='SMITH'需求2:查詢所有員工的名字和上司的名字 selectemployee.ename,manager.enamefromempman
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專利抵押合同范本
- 公司銷售人員合同范例
- 勞務合同范本 短期
- 單位購買電腦合同范本
- 勾機鏟車出租合同范本
- 公司水果采購合同范本
- 單位玻璃保潔合同范本
- 蛋糕師招聘合同范本
- 代買股合同范本
- 制式采購合同范本
- 《云南瀾滄鉛礦有限公司勐濱煤礦采礦權價款退還計算說明》
- sbl-ep16高低壓開關柜培訓中法文kyn6140.5安裝使用說明書
- GB/T 9113.1-2000平面、突面整體鋼制管法蘭
- GB/T 8947-1998復合塑料編織袋
- PALL 頗爾過濾器 -乙烯系統(tǒng)培訓
- 2021年湖北師范學院專升本C語言程序設計試卷
- CB/T 3136-1995船體建造精度標準
- 疫苗冰箱溫度記錄表
- 全科醫(yī)療服務模式及服務內容課件
- X射線衍射課件(XRD)
- 清新淡雅簡潔通用模板課件
評論
0/150
提交評論