Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

क्या बहुत सारे वामपंथी एक कोड गंध में शामिल होते हैं?

यह कुछ डिज़ाइनों के लिए पूरी तरह से वैध समाधान है।

मान लें कि आपके पास 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 (यदि आप केवल यह पता लगाना चाहते हैं कि संबंधित रिकॉर्ड मौजूद हैं या अन्य तालिकाओं में मौजूद नहीं हैं)।

प्रदर्शन विवरण के लिए मेरे ब्लॉग में यह लेख देखें:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2008 में एक कॉलम पर एकाधिक विदेशी कुंजी बाधाएं

  2. एसक्यूएल:कोशिश करें/पकड़ें किसी तालिका तक पहुंचने का प्रयास करते समय कोई त्रुटि नहीं पकड़ता है जो इसे नहीं मिल रहा है

  3. टी-एसक्यूएल में गोल मिलीसेकंड

  4. SQL सर्वर में LEN () क्या है?

  5. डेटाबेस मेल प्रोफाइल (SSMS) के भीतर किसी खाते की प्राथमिकता बदलें