2023年3月27日解決済み

再帰的CTEの流れがうまく掴めません

ユーザー

いつもありがとうございます。
よくわからず自分なりにはこのように解釈しました。

1. parent_idの2のidを抽出する、抽出した id が 4, 5 だったので次は --n = 1 のところが

    SELECT * FROM comments WHERE parent_id = 4
    SELECT * FROM comments WHERE parent_id = 5

になる

2. その結果 id の 6 が抽出される。その後 --n = 1 のところが

    SELECT * FROM comments WHERE parent_id = 6

になる

3. その結果 id の 7 が抽出される。その後 --n = 1 のところが

    SELECT * FROM comments WHERE parent_id = 7

になる

4. これ以上抽出できる id がもうないのでここで終わりになり、最後に抽出した結果を UNION ALL で
  1 つのテーブルにまとめて表示する
  
再帰的CTEによって
SELECT * FROM comments WHERE parent_id = ◯◯ ←前の結果がここに反映されていく。

このようなイメージで良いのでしょうか?

スタッフ

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?