Czy istnieje sposób na przeglądanie danych drzewa w SQL? Wiem o tym connect by
w Oracle, ale czy istnieje inny sposób, aby to zrobić w innych implementacjach SQL? Pytam, ponieważ używanie connect by
jest łatwiejsze niż pisanie pętli lub funkcji rekurencyjnej w celu uruchomienia zapytania dla każdego wyniku.
Ponieważ niektórzy ludzie zdają się być zdezorientowani zwrotem „dane drzewa”, wyjaśnię dalej: Mam na myśli tabele, które mają parent_id
podobne pole zawierające klucz podstawowy z innego wiersza w tej samej tabeli.
Pytanie pochodzi z doświadczenia, w którym pracowałem z danymi przechowywanymi w ten sposób w bazie danych Oracle i wiedziałem, że connect by
nie są one zaimplementowane w innych DBMS. Gdyby użyć standardowego SQL-a, należałoby stworzyć nowy alias tabeli dla każdego rodzica, którego chciałoby się zwiększyć. To może łatwo wymknąć się spod kontroli.