集合及子查詢

2021-10-16 17:07:24 字數 762 閱讀 7513

一、集合運算

1、union聯合運算,從倆個查詢返回的結果集去掉重複值以後合併後的結果。

2、union all 全聯合運算,與聯合運算相似,返回倆個查詢結果的並集,但是包括所有重複值。

3、intersect 相交運算,返回多個查詢結果中的相同的行。

4、minus 相減運算,返回第乙個查詢中存在而不在第二個查詢存在的行

注意:1、不能再包含blob、clob、bfile和varray及包含巢狀列表的列中使用集合操作。

2、union、intersect 和minus 操作設計的排序操作不能應用在logn列上,但是union all可以在logn列上應用排序。

3、不在包含集合操作的select 語句中應用集合操作符。

4、不能包含在for update 的select語句中包含集合操作符。

5、在集合操作上的select 列的個數受限於資料庫塊尺寸的大小,所有列的總大小不能超過乙個資料庫塊的大小。

二、子查詢

1、in 運算子用於判斷指定的列值是否等於有子查詢返回的乙個多行單列的結果集之一。

2、any操作符表示任意的意思,使用這個操作符會將主查詢中的乙個列與子查詢的結果集進行比較,只要其中的任意乙個值滿足條件,則條件成立。any和some是同義詞。any 和 some可以看做是用or邏輯運算子關聯起來的從句。

< any 意思是小於最大值

> any 意思是大於最小值

=any 等同於in

< all 意思是小於最小值

>all 意思是大於最大值

oracle子查詢和集合查詢

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

模糊查詢及子查詢

模糊查詢 sql關鍵字 like sql語句 where 列名 like 表示式 萬用字元 1 零個 乙個或者多個字元 2 乙個任意字元。3 針對字元型別。示例 名字以j開頭,s結尾的員工姓名,工作,工資 sql語句 select ename,sal,job from emp where ename...

子查詢及exists

子查詢分為無關子查詢和相關子查詢 無關子查詢,只查詢一次,與外查詢無關,可作為查詢條件 select from student where sno in select sno from student where class 98789 也可作為乙個虛擬表使用。select from student...