java文件-sql-oracle課件子查詢_第1頁
java文件-sql-oracle課件子查詢_第2頁
java文件-sql-oracle課件子查詢_第3頁
java文件-sql-oracle課件子查詢_第4頁
java文件-sql-oracle課件子查詢_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余16頁可下載查看

下載本文檔

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

文檔簡介

目標(biāo)通過本章學(xué)習(xí),您將可以:描述子查詢可以解決的問題定義子查詢。列句子查詢的類型。書寫單行子查詢和多行字查詢。使用子查詢解決問題誰的工資比Abel

高?誰的工資比Abel

高?MainQuery:?Abel的工資是多少?Subquery?子查詢語法子查詢(內(nèi)查詢)在主查詢之前一次執(zhí)行完成。子查詢的結(jié)果被主查詢使用(外查詢)。SELECTFROMWHEREselect_listtableexpr

operator(SELECTFROMselect_listtable);SELECT

last_nameFROMWHEREemployeessalary

>(SELECT

salaryFROMWHEREemployeeslast_name

=

'Abel');子查詢11000注意事項(xiàng)子查詢要包含在括號(hào)內(nèi)。將子查詢放在比較條件的右側(cè)。除非進(jìn)行Top-N

分析,否則不要在子查詢中使用ORDERBY

子句。單行操作符對應(yīng)單行子查詢,多行操作符對應(yīng)多行子查詢。子查詢類型MainquerySubqueryreturnsST_CLERK多行子查詢ST_CLERKSA_MANMainquerySubqueryreturns單行子查詢單行子查詢只返回一行。使用單行比較操作符。Operator

Meaning= Equal

to> Greater

than>= Greater

than

or

equal

to< Lessthan<= Less

thanor

equal

to<> Not

equal

toSELECT

last_name,

job_id,

salaryFROM

employeesWHERE job_id

=(SELECT

job_idFROM

employeesWHERE employee_id

=

141)ANDsalary

>(SELECT

salaryFROM

employeesWHERE employee

id

=

143);執(zhí)行單行子查詢ST_CLERK2600SELECT

last_name,

job_id,

salaryFROMWHEREemployeessalary

=(SELECT

MIN(salary)FROM

employees);在子查詢中使用組函數(shù)2500子查詢中的HAVING

子句首先執(zhí)行子查詢。向主查詢中的HAVING

子句返回結(jié)果。SELECTFROMdepartment_id,

MIN(salary)employeesGROUP

BY

department_idHAVING MIN(salary)

>FROM

employeesWHERE department_id

=

50);2500(SELECT

MIN(salary)salarySELECT

employee_id,

last_nameFROM

employeesWHERE

=(SELECTFROMMIN(salary)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

employeesWHERE job_id

=(SELECT

job_idFROMWHEREemployeeslast_name

=

'Haas');多行子查詢ANYALL返回多行。使用多行比較操作符。Operator

MeaningIN

Equal

to

any

member

in

the

listCompare

value

to

each

value

returnedbythe

subquery

只要滿足其中至少一個(gè)條件Compare

value

to

every

value

returnedbythe

subquery

必須滿足其中所有條件在多行子查詢中使用ANY

操作符9000,

6000,

4200SELECT

employee_id,

last_name,

job_id,

salaryFROMWHEREemployeessalary

<ANY(SELECT

salaryFROM

employeesWHERE job_id

=

'IT_PROG')ANDjob_id

<>

'IT_PROG';…SELECT

employee_id,

last_name,

job_id,

salaryFROM

employeesWHERE salary

<ALL(SELECT

salaryFROM

employeesWHERE job_id

=

'IT_PROG')ANDjob_id

<>

'IT_PROG';在多行子查詢中使用ALL

操作符9000,

6000,

4200子查詢中的空值問題SELECT

emp.last_nameFROMWHEREemployees

empemp.employee_id

NOT

IN(SELECT

mgr.manager_idFROM employees

mgr);no

rows

selected總結(jié)通過本章學(xué)習(xí),您已經(jīng)學(xué)會(huì):在什么時(shí)候遇到什么問題應(yīng)該使用子查詢。在查詢是基于未知的值時(shí)應(yīng)使用子查詢。SELECTFROMWHEREselect_listtableexpr

operator(SELECT

select_listFROM

table);Practice6

OverviewThis

practicecovers

thefollowing

topics:Creating

subqueries

to

溫馨提示

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

最新文檔

評論

0/150

提交評論