SQL में पुनरावृत्ति

SQL पर आधारित रिलेशनल डेटाबेस मैनेजमेंट सिस्टम, पदानुक्रमित या रिकर्सिव क्वेरी के लिए केवल आंशिक रूप से ही उपयुक्त हैं। ArangoDB जैसे अन्य सिस्टम इसके लिए बेहतर उपयुक्त हैं ( GOTO 2016 में इस विषय पर एक शानदार चर्चा हुई थी)। हालांकि, कॉमन टेबल एक्सप्रेशंस का उपयोग करके SQL में रिकर्सिव क्वेरी बनाना भी संभव है, जिससे आप उदाहरण के लिए, सभी पूर्वजों और वंशजों के लिए क्लासिक पैरेंट/चाइल्ड टेबल से क्वेरी कर सकते हैं।


PostgreSQL में यह इस तरह दिखता है, उदाहरण के लिए:

0672c4761d202a35a9059fa137ace7c3

यदि आप एक निश्चित item_id के सभी बच्चों को प्राप्त करना चाहते हैं, तो आप कॉमन टेबल एक्सप्रेशंस का उपयोग करें:

0672c4761d202a35a9059fa137ace7c3

माता-पिता को कहना भी कोई समस्या नहीं है:

0672c4761d202a35a9059fa137ace7c3

वापस