यह कुछ डिज़ाइनों के लिए पूरी तरह से वैध समाधान है।
मान लें कि आपके पास Customer . जैसे एक-से-अनेक संबंधों का पदानुक्रम है - Order - Basket - Item - Price , आदि, जिसे किसी भी स्तर पर भरा जा सकता है:एक Customer कोई Order नहीं हो सकता है , एक Order कोई Basket नहीं हो सकता है , आदि.
इस मामले में आप कुछ इस तरह जारी करते हैं:
SELECT *
FROM Customer c
LEFT OUTER JOIN
Order o
ON o.CustomerID = c.ID
LEFT OUTER JOIN
Basket b
ON b.OrderID = c.ID
…
ध्यान दें कि यह कुछ मामलों में अक्षम हो सकता है, और इसे EXISTS . से बदला जा सकता है या NOT EXISTS (यदि आप केवल यह पता लगाना चाहते हैं कि संबंधित रिकॉर्ड मौजूद हैं या अन्य तालिकाओं में मौजूद नहीं हैं)।
प्रदर्शन विवरण के लिए मेरे ब्लॉग में यह लेख देखें:
- अपूर्ण ऑर्डर ढूंढना
-
LEFT JOINको रिप्लेस करने से कैसे फायदा होगा? के साथNOT EXISTS. है