oracle的子查詢和集合運算

2021-09-27 06:08:12 字數 529 閱讀 1123

子查詢的注意事項

select empno,ename,sal,(select job from emp where empno=7839) 第四列

from emp;

分析:在select 中嵌入子查詢的話,只能是單行子查詢,也就是說只能有乙個返回值,這是因為主查詢的每一行每一列只能對應乙個結果,如果查出來是多行的話,主查詢該行對應的該列就有多行資料了,而每行每列只能有乙個資料,所以是不能是多行子查詢的

強調from後面的子查詢(表可以代表乙個集合,select語句也可以看作乙個集合)

select * from (select empno,ename,sal from em);

可以在已知條件的基礎上增加更多的已知條件

sql1 union sql2(相交的地方只出現一次)

sql1 union all sql2(相交的地方出現兩次)

交集sql1 intersect sql2

差集minus

oracle子查詢和集合查詢

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

oracle高階查詢之連線查詢 集合運算

一 集合運算 minus補集,返回第乙個查詢結果的記錄減去第二個查詢結果的記錄後剩下的記錄 select deptno from dept minus select deptno from emp intersect交集,返回兩個查詢共有的記錄 select deptno from dept int...

Oracle的集合運算

一 所謂的集合運算 集合運算是用來把兩個或多個查詢的結果集做並 交 查的集合運算,包含集合運算的查詢稱為復合查詢。二 集合運算的幾種方式 1 聯合運算 union 去重 不排序 聯合運算是從兩個查詢返回除去重複值後的結果。2 完全聯合運算 union all 不去重 公升序 完全聯合運算是從每個查詢...