質問:
FROM 句にネストされたクエリが含まれ、複数のクエリからデータを取得する SELECT クエリを作成しています。FROM 句のデータを他のいくつかのクエリで再度使用する必要があります。
Oracleでそれを行う最良の方法は何ですか。
複数の個別の SQL ステートメントでクエリを再利用する必要がある場合、最も簡単なオプションは、その SQL ステートメントのビューを作成することです。
CREATE VIEW view_name
AS
<<query to reuse>>
そのビューをすべてのクエリで使用します。
同じ SQL ステートメントの複数の場所でクエリを再利用する必要がある場合は、サブクエリ ファクタリングとWITH
句を使用します。
WITH query_name AS (
<<query to reuse>>
)
SELECT *
FROM query_name q1
WHERE something = (select max(something)
from query_name q2
where q1.key = q2.key)