Có cách nào để duyệt dữ liệu cây trong SQL không? Tôi biết về connect by
Oracle, nhưng có cách nào khác để thực hiện điều này trong các triển khai SQL khác không? Tôi đang hỏi vì sử dụng connect by
dễ hơn viết một hàm lặp hoặc hàm đệ quy để chạy truy vấn cho từng kết quả.
Vì một số người dường như bị nhầm lẫn bởi cụm từ "dữ liệu cây", tôi sẽ giải thích thêm: Ý tôi là liên quan đến các bảng có trường parent_id
hoặc tương tự chứa khóa chính từ một hàng khác trong cùng một bảng.
Câu hỏi xuất phát từ một kinh nghiệm khi tôi làm việc với dữ liệu được lưu trữ theo cách này trong cơ sở dữ liệu của Oracle và biết rằng điều đó connect by
không được triển khai trong các DBMS khác. Nếu một người sử dụng SQL tiêu chuẩn, người ta sẽ phải tạo một bí danh bảng mới cho mỗi phụ huynh mà họ muốn đi lên. Điều này có thể dễ dàng ra khỏi tầm tay.