再帰的CTEの動きがよくわかりません

順を追って説明していきます。
2021年3月11日
ユーザー

・前提
【やりたいこと】comment1-2についた全てのコメントを取得したい。
commentsテーブル>

parent_idが2のコメントを抽出

②更に①に付いているコメントを全て抽出
◆CTEを使用しない場合

◆CTEを使用した場合

・不明点
まず、CTEを使用したコマンドの中のJOINで結び付けているテーブル「t」は、
parent_idが2の抽出結果の表なので、以下になります。

comments.parent_id = t.id で比較している部分ですが、
t.id」について、
idが4と5しかないので、本来であれば
parent_idが4の「comment-1-2-1-1」しか表示されないはずですが、
なぜparent_idが6,7の場合のものも表示されるのでしょうか?

どのような流れになっているのかが理解できません。
また、最後の「SELECT * FROM t;」の「t」はどのテーブルのことを指しているのでしょうか。
最初に設定したテーブル「tparent_idが2の抽出結果)」からどんどんループで増えているのでしょうか?そうだとしてもその流れが分かりません。

お手数をおかけしますが、詳細にご教示いただけますと幸いです。
よろしくお願いいたします。

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

プレミアムプランとは?

このレッスンの質問と回答(2)