Recursive join とは

再帰的結合は、リレーショナルデータベースで使用される操作であり、「固定小数点結合」と呼ばれることもあります。反復が結果に変更を加えないまで(以前の反復の結果と比較して)結合操作を繰り返す複合操作です。通常は、毎回多くのレコードを蓄積します。
例えば、家族関係のデータベースが検索され、各人のレコードが「母親」フィールドと「父親」フィールドを有する場合、再帰的結合は、人の既知の祖先すべてを検索する1つの方法である。両親の記録が取り出されると、両親の情報が祖父母の記録を検索するために使用され、新しい記録が見つからなくなるまで続く。
この例では、実際の多くの場合と同様に、繰り返しには単一のデータベーステーブルしか含まれていないため、より具体的には「再帰自己結合」です。
再帰的な結合は、索引付け、余分なキー・フィールドの追加、または他の手法によって最適化されない限り、非常に時間がかかることがあります。
再帰的な結合は、階層データの特徴であり、したがってXMLデータの重大な問題になります。 XMLでは、ある要素に別の要素が含まれているかどうかを判断するなどの操作は非常に一般的であり、XMLデータがリレーショナルデータベースに格納されている場合には、
SQL:1999標準で再帰的な結合を定義する標準的な方法は、再帰的な共通テーブル式によるものです。再帰CTEをサポートするデータベース管理システムには、Microsoft SQL Server、Oracle、PostgreSQLなどがあります。