《oracle教學(xué)課件》尚硅谷-宋紅康-06-子查詢_第1頁(yè)
《oracle教學(xué)課件》尚硅谷-宋紅康-06-子查詢_第2頁(yè)
《oracle教學(xué)課件》尚硅谷-宋紅康-06-子查詢_第3頁(yè)
《oracle教學(xué)課件》尚硅谷-宋紅康-06-子查詢_第4頁(yè)
《oracle教學(xué)課件》尚硅谷-宋紅康-06-子查詢_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第6節(jié)子 查 詢講師:宋紅康 新浪微博:尚硅谷-宋紅康目 標(biāo)通過本章學(xué)習(xí),您將可以: 描述子查詢可以解決的問題。定義子查詢。列出子查詢的類型。書寫單行子查詢和多行子查詢。使用子查詢解決問題誰的工資比 Abel 高?誰的工資比 Abel 高?Main Query:?Abel的工資是多少?Subquery子查詢語(yǔ)法子查詢 (內(nèi)查詢) 在主查詢之前一次執(zhí)行完成。子查詢的結(jié)果被主查詢(外查詢)使用 。SELECTselect_listFROMtableWHEREexpr operator (SELECTselect_list FROMtable);SELECT last_nameFROM employ

2、eesWHERE salary (SELECT salary FROM employees WHERE last_name = Abel);子查詢11000注意事項(xiàng)子查詢要包含在括號(hào)內(nèi)。將子查詢放在比較條件的右側(cè)。單行操作符對(duì)應(yīng)單行子查詢,多行操作符對(duì)應(yīng)多行子查詢。子查詢類型主查詢子查詢 返回ST_CLERK多行子查詢ST_CLERKSA_MAN主查詢子查詢 返回單行子查詢單行子查詢只返回一行。使用單行比較操作符。操作符 = = = 含義Equal toGreater than Greater than or equal to Less than Less than or equal toNo

3、t equal to SELECT last_name, job_id, salaryFROM employeesWHERE job_id = (SELECT job_id FROM employees WHERE employee_id = 141)AND salary (SELECT salary FROM employees WHERE employee_id = 143);執(zhí)行單行子查詢ST_CLERK2600題目:返回job_id與141號(hào)員工相同,salary比143號(hào)員工多的員工 姓名,job_id 和工資SELECT last_name, job_id, salaryFROM

4、employeesWHERE salary = (SELECT MIN(salary) FROM employees);在子查詢中使用組函數(shù)2500題目:返回公司工資最少的員工的last_name,job_id和salary子查詢中的 HAVING 子句首先執(zhí)行子查詢。向主查詢中的HAVING 子句返回結(jié)果。SELECT department_id, MIN(salary)FROM employeesGROUP BY department_idHAVING MIN(salary) (SELECT MIN(salary) FROM employees WHERE department_id =

5、50);2500題目:查詢最低工資大于50號(hào)部門最低工資的部門id和其最低工資SELECT employee_id, last_nameFROM employeesWHERE salary = (SELECT MIN(salary) FROM employees GROUP BY department_id);非法使用子查詢ERROR at line 4:ORA-01427: single-row subquery returns more thanone row多行子查詢使用單行比較符子查詢中的空值問題no rows selectedSELECT last_name, job_idFROM

6、employeesWHERE job_id = (SELECT job_id FROM employees WHERE last_name = Haas);子查詢不返回任何行多行子查詢返回多行。使用多行比較操作符。操作符 IN ANY ALL含義等于列表中的任意一個(gè)和子查詢返回的某一個(gè)值比較和子查詢返回的所有值比較體會(huì)any和all的區(qū)別在多行子查詢中使用 ANY 操作符9000, 6000,4800, 4200SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary ANY (SELECT salary F

7、ROM employees WHERE job_id = IT_PROG)AND job_id IT_PROG;題目:返回其它部門中比job_id為IT_PROG部門任一工資低的員工的員 工號(hào)、姓名、job_id 以及salarySELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary ALL (SELECT salary FROM employees WHERE job_id = IT_PROG)AND job_id IT_PROG;在多行子查詢中使用 ALL 操作符9000, 6000, 4800,4200 題目:返回其它部門中比job_id為IT_PROG部門所有工資都低的員工 的員工號(hào)、姓名、job_id 以及salary子查詢中的空值問題SELECT emp.last_nameFROM employees empWHERE emp.employee_id NOT IN (SELECT mgr.manager_id FROM employees mgr);no rows selected總 結(jié)通過本章學(xué)習(xí),您已經(jīng)學(xué)會(huì): 如何使用子查詢。在查詢時(shí)基于未

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論