Oracle的查詢 子查詢

2022-08-11 08:30:20 字數 833 閱讀 7938

--

子查詢--

子查詢返回乙個值

--查詢出工資和scott一樣的員工資訊

select

*from emp where sal in

(select sal from emp where ename =

'scott');

--子查詢返回乙個集合

--查詢出工資和10號部門任意員工一樣的員工資訊

select

*from emp where sal in

(select sal from emp where deptno =

10);

--子查詢返回一張表

--查詢出每個部門最低工資、最低工資姓名、該員工所在部門名稱

--1.先查詢出每個部門最低工資

select deptno, min

(sal) msal

from

empgroup

bydeptno;

--2.三表聯查得到最終結果

select

t.deptno, t.msal, e.ename, d.dname

from

(

select deptno, min

(sal) msal

from

emp

group

bydeptno

) t, emp e, dept d

where t.deptno =

e.deptno

and t.msal =

e.sal

and e.deptno = d.deptno;

Oracle的子查詢

oracle的子查詢分為兩種 一種是相關子查詢,一種是非相關子查詢。主要區別就是相關子查詢用到了外查詢結果的字段。一般來說,相關子查詢不能單獨執行,非相關子查詢可以單獨執行。掃瞄外查詢的第一條記錄 掃瞄子查詢,並將第一條記錄的對應值傳給子查詢,由此計算出子查詢的結果 根據子查詢的結果,返回外查詢的結...

Oracle的多表查詢與子查詢

oracle的多表查詢與子查詢 子查詢 在乙個查詢的內部還包括另乙個查詢,則此查詢稱為子查詢。sql的任何位置都可以加入子查詢。自連線其實就是站在不同的角度把一張表看成多張表。範例 查詢比 7654 工資高的雇員 分析 查詢出 7654 員工的工資是多少,把它作為條件 範例 查詢出比雇員 7654 ...

oracle子查詢和集合查詢

子查詢 子查詢的作用 查詢條件未知的事物 查詢條件已知的問題 例如 查詢工資為800的員工資訊 查詢條件未知的問題 例如 查詢工資為20號部門平均工資的員工資訊 乙個條件未知的問題,可以分解為多個條件已知的問題 查詢工資比ward高的員工資訊 第一 查詢ward的工資?select sal from...