SQL-деги рекурсия

SQLге негизделген реляциялык маалымат базасын башкаруу системалары иерархиялык же рекурсивдүү суроо-талаптар үчүн жарым-жартылай гана ылайыктуу. ArangoDB сыяктуу башка системалар буга жакшыраак ылайыктуу (бул тууралуу GOTO 2016да сонун талкуу болгон). Бирок, SQLде Common Table Expressions колдонуп рекурсивдүү суроо-талаптарды түзүүгө да болот, мисалы, бардык ата-бабалар жана урпактар үчүн классикалык ата-эне/бала таблицаларына суроо-талап коюуга мүмкүндүк берет.


PostgreSQL-де, мисалы, ушундай көрүнөт:

0672c4761d202a35a9059fa137ace7c3

Эгер сиз белгилүү бир нерсенин_идинин бардык балдарын алгыңыз келсе, анда Жалпы Таблицалык Экспресстерди колдоносуз:

0672c4761d202a35a9059fa137ace7c3

Ата-энелерден сурак алуу деле кыйынчылык туудурбайт:

0672c4761d202a35a9059fa137ace7c3

Артка