【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
いつもありがとうございます。 よくわからず自分なりにはこのように解釈しました。
1. parent_idの2のidを抽出する、抽出した id が 4, 5 だったので次は --n = 1 のところが
id
4
5
--n = 1
SELECT * FROM comments WHERE parent_id = 4 SELECT * FROM comments WHERE parent_id = 5
になる
2. その結果 id の 6 が抽出される。その後 --n = 1 のところが
6
SELECT * FROM comments WHERE parent_id = 6
3. その結果 id の 7 が抽出される。その後 --n = 1 のところが
7
SELECT * FROM comments WHERE parent_id = 7
4. これ以上抽出できる id がもうないのでここで終わりになり、最後に抽出した結果を UNION ALL で 1 つのテーブルにまとめて表示する 再帰的CTEによって SELECT * FROM comments WHERE parent_id = ◯◯ ←前の結果がここに反映されていく。
UNION ALL
SELECT * FROM comments WHERE parent_id = ◯◯
このようなイメージで良いのでしょうか?
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
いつもありがとうございます。
よくわからず自分なりにはこのように解釈しました。
1. parent_idの2のidを抽出する、抽出した
idが4,5だったので次は--n = 1のところがになる
2. その結果
idの6が抽出される。その後--n = 1のところがになる
3. その結果
idの7が抽出される。その後--n = 1のところがになる
4. これ以上抽出できる
idがもうないのでここで終わりになり、最後に抽出した結果をUNION ALLで1 つのテーブルにまとめて表示する
再帰的CTEによって
SELECT * FROM comments WHERE parent_id = ◯◯←前の結果がここに反映されていく。このようなイメージで良いのでしょうか?