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

क्लाज में शामिल होने का क्रम SQL सर्वर में क्वेरी योजना को क्यों प्रभावित करता है?

मुझे पिछले सभी उत्तरों से असहमत होना है, और कारण सरल है:यदि आप अपने बाएं शामिल होने का क्रम बदलते हैं, तो आपके प्रश्न तार्किक रूप से भिन्न होते हैं और इस तरह वे विभिन्न परिणाम सेट उत्पन्न करते हैं। खुद देखें:

SELECT 1 AS a INTO #t1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4;

SELECT 1 AS b INTO #t2
UNION ALL SELECT 2;

SELECT 1 AS c INTO #t3
UNION ALL SELECT 3;

SELECT a, b, c 
FROM #t1 LEFT JOIN #t2 ON #t1.a=#t2.b
  LEFT JOIN #t3 ON #t2.b=#t3.c
ORDER BY a;

SELECT a, b, c 
FROM #t1 LEFT JOIN #t3 ON #t1.a=#t3.c
  LEFT JOIN #t2 ON #t3.c=#t2.b
ORDER BY a;

a           b           c
----------- ----------- -----------
1           1           1
2           2           NULL
3           NULL        NULL
4           NULL        NULL

(4 row(s) affected)

a           b           c
----------- ----------- -----------
1           1           1
2           NULL        NULL
3           NULL        3
4           NULL        NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रिकॉर्ड करने के लिए दिनांक/टाइमस्टैम्प तालिका में रिकॉर्ड कब जोड़ा गया था?

  2. ACOS () SQL सर्वर में उदाहरण

  3. त्रुटि:बाध्यकारी त्रुटियों के कारण दृश्य या कार्य का उपयोग नहीं कर सका

  4. NULL =NULL SQL सर्वर में गलत का मूल्यांकन क्यों करता है

  5. दिनांक के लिए एसक्यूएल सर्वर 2005 डेटाटाइप