再帰クエリ

From Wikipedia, the free encyclopedia

再帰クエリ (: recursive query) もしくは 階層クエリ (: hierarchical query) は、再帰的な問い合わせを行う SELECT ステートメントである。階層構造を持つデータなどに使う。

標準SQLでは再帰クエリを共通表式の一環として定義している。WITH RECURSIVE 形式の構文をサポートする関係データベース管理システムを以下に挙げる。通常RECURSIVE句は省略可能であるが、PostgreSQLでは省略できない。:

例 (PostgreSQL):

 WITH RECURSIVE r(level, employee, empno, mgr) AS (
   SELECT 1, ename, empno, mgr
     FROM emp WHERE mgr IS NULL
 UNION ALL
   SELECT r.level + 1, repeat('  ', r.level) || emp.ename, emp.empno, emp.mgr
     FROM emp, r WHERE emp.mgr = r.empno
 )
 SELECT * FROM r;

CONNECT BY

関連項目

脚注

Related Articles

Wikiwand AI