चूंकि माता-पिता के पास उनमें से कुछ तालिकाओं में बाल पंक्ति हो सकती है, इसलिए आपको बाएं बाहरी जॉइन का उपयोग करना होगा।
LEFT OUTER JOIN, LEFT तालिका की सभी पंक्तियों को लौटाते हुए दो तालिकाओं में शामिल होता है, इस स्थिति में A और अन्य तालिकाओं से सभी मैच। जब कोई मिलान नहीं होता है तो यह तालिका के संबंधित कॉलम में NULL लौटाएगा कि कोई मिलान नहीं था।
SELECT *
FROM A
LEFT OUTER JOIN B
ON A.Id = B.ParentID
LEFT OUTER JOIN C
ON A.Id = C.ParentID
LEFT OUTER JOIN P
ON C.Id = P.ParentID
LEFT OUTER JOIN Q
ON C.Id = Q.ParentID
LEFT OUTER JOIN D
ON A.Id = D.ParentID
LEFT OUTER JOIN E
ON A.Id = E.ParentID
LEFT OUTER JOIN F
ON A.Id = F.ParentID
LEFT OUTER JOIN X
ON F.Id = X.ParentID
LEFT OUTER JOIN Y
ON F.Id = Y.ParentID
LEFT OUTER JOIN G
ON A.Id = G.ParentID
संपादित करें
मैंने सबचाइल्ड जोड़ने का एक तरीका जोड़ा है। मैंने उन्हें केवल एक दृश्य प्रतिनिधित्व में स्पष्ट करने के लिए और अधिक इरादा किया है। लेकिन सावधान रहें... अगर यह उप-बच्चों के लिए अन्य उप-बच्चों आदि की ओर ले जाता है, तो शायद आपकी संरचना इष्टतम नहीं है।