Oracle Database 相関サブクエリを使用してデータを抽出する

Oracle Database 相関サブクエリを使用してデータを抽出する

Oracle Databaseで、相関サブクエリを使用してデータを抽出する手順を記述してます。「EXISTS」にSELECT文を使用することで可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS windows11 home
  • Oracle Database 21c Express Edition
  • SQL Developer 21.2.1.204

手順

相関サブクエリを使用してデータを抽出するには、「EXISTS」を使用します。
※EXISTSは一般的には、クエリタイムが遅くなります。

SELECT * FROM テーブル名
WHERE EXISTS (SELECT文);

実際に、以下のテーブル「SAMPLETBL」からテーブル「AGEDATE」を相関サブクエリとして使用して抽出してみます。

テーブル「SAMPLETBL」

テーブル「AGEDATE」

テーブル「AGEDATE」の「AGE」と「SAMPLETBL」の「AGE」が同じものを条件にしてデータを抽出してみます。

SELECT * FROM SAMPLETBL
WHERE EXISTS (SELECT * FROM AGEDATA WHERE SAMPLETBL.AGE = AGEDATA.AGE);

実行結果を見ると、抽出されていることが確認できます。
※クエリタイムは、初回で「2.577」秒と遅いです。