WITH 句

WITH 句では共通テーブル式 (CTE) を指定します。CTE は、SQL ステートメントの実行期間中に定義して使用する一時的な結果セットに似ています。

CTE を使用する主な利点は、複雑なクエリの可読性が向上し、メンテナンスが容易になることです。クエリを個々の「構成要素」に分割し、それを使用して、より複雑なクエリを作成できます。

Virtual DataPort では、 SELECT ステートメントと CREATE VIEW ステートメントで共通テーブル式がサポートされています。

たとえば、以下のステートメントでは、給与の合計が最も少ない部署を探し出します。

WITH department_salary (deptno, totalpay) AS
    (SELECT deptno, SUM(salary)
     FROM EMP
     GROUP BY deptno)
SELECT deptno
FROM department_salary
WHERE totalpay = (
    SELECT max(totalpay)
    FROM department_salary
)