ホームページ >データベース >Oracle >Oracle でクエリとマージを行う方法

Oracle でクエリとマージを行う方法

WBOY
WBOYオリジナル
2022-01-26 11:36:395425ブラウズ

方法: 1. Union を使用してクエリをマージし、マージされた結果セットから重複行を削除します。2. "union all" を使用して、結果セットから重複行を削除せずにクエリをマージします。3. intersect を使用してマージします。クエリを実行し、クエリを取得します。 結果の交差部分。 4. マイナスを使用してクエリをマージし、クエリ結果の差分セットを取得します。

Oracle でクエリとマージを行う方法

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle でクエリをマージする方法

実際のアプリケーションでは、複数の選択ステートメントの結果をマージするために、集合演算記号 Union、Union all、intersect、minus を使用できることがあります。 。

比較的大量のデータを扱うデータ ビューロで主に使用され、高速に実行されます。

1). Union

この演算子は、2 つの結果セットの和集合を取得するために使用されます。この演算子を使用すると、結果セット内の重複行が自動的に削除されます。

例は次のとおりです:

SELECT ename, sal, job FROM emp WHERE sal >2500
UNION
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

2).union all

この演算子は Union に似ていますが、重複行はキャンセルされません。ソートされません。

例は次のとおりです。

SELECT ename, sal, job FROM emp WHERE sal >2500
UNION ALL
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

この演算子は、2 つの結果セットの和集合を取得するために使用されます。この演算子を使用すると、結果セット内の重複行は自動的に削除されません。

3).intersect

この演算子を使用して、2 つの結果セットの共通部分を取得します。

例は次のとおりです:

SELECT ename, sal, job FROM emp WHERE sal >2500
INTERSECT
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

4).minus

この演算子を使用して、2 つの結果セットの差分セットを取得します。最初のコレクションには存在するが、2 番目のコレクションには存在しないデータを表示します。

例は次のとおりです:

SELECT ename, sal, job FROM emp WHERE sal >2500
MINUS
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

(MINUS は減算を意味します)

推奨チュートリアル: 「Oracle Video Tutorial

以上がOracle でクエリとマージを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。