CONNECT BY の使い方
階層をたどる(Oracle)
書き方
SELECT LEVEL, … FROM 表 START WITH 根の条件 CONNECT BY PRIOR 親の列 = 子の列 ORDER SIBLINGS BY 列 SYS_CONNECT_BY_PATH(列, '/') SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= n
組織図のような木をたどります。LEVEL は深さ。PRIOR を付けた側が親です。
例
SELECT LPAD(' ', (LEVEL - 1) * 2) || name FROM emp START WITH manager_id IS NULL CONNECT BY PRIOR emp_id = manager_id;実際に打って練習する
Oracle コースの Lv10「系譜をたどる CONNECT BY」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜3 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。