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

SQL सर्वर में LEFT SEMI JOIN कैसे करें?

LEFT SEMI JOIN एक प्रकार का आधा-जुड़ाव है। यह कोई भी विशिष्ट मान देता है जो क्वेरी के बाईं और दाईं ओर दोनों क्वेरी द्वारा लौटाया जाता है।

हालाँकि, SQL सर्वर में T-SQL का उपयोग करते समय, यदि आप स्पष्ट रूप से LEFT SEMI JOIN का उपयोग करने का प्रयास करते हैं आपकी क्वेरी में, आपको शायद निम्न त्रुटि मिलेगी:

Msg 155, Level 15, State 1, Line 4
'SEMI' is not a recognized join option.

सौभाग्य से, T-SQL में INTERSECT . शामिल है ऑपरेटर, जो हमें LEFT SEMI JOIN . करने की अनुमति देता है ।

जब आप INTERSECT . का उपयोग करते हैं ऑपरेटर, यह क्वेरी निष्पादन योजना में LEFT SEMI JOIN . के रूप में दिखाई देता है ।

आप एक सबक्वेरी भी बना सकते हैं जो वही काम करती है।

उदाहरण

कल्पना कीजिए कि हमारे पास दो टेबल हैं; Cats और Dogs , और फिर हम निम्नलिखित क्वेरी चलाते हैं:

SELECT 
    CatName AS PetName
FROM Cats
INTERSECT
SELECT 
    DogName AS PetName
FROM Dogs;

यह क्वेरी INTERSECT . का उपयोग करती है ऑपरेटर, और इसलिए यह LEFT SEMI JOIN . के रूप में दिखाई देगा निष्पादन योजना में।

यह निम्न कार्य करने के समान है:

SELECT 
    DISTINCT CatName
FROM Cats c 
WHERE EXISTS (SELECT DogName FROM Dogs d
WHERE c.CatName = d.DogName);

यहाँ उस क्वेरी के लिए निष्पादन योजना है:

यदि आप Azure डेटा लेक एनालिटिक्स के साथ U-SQL का उपयोग करते हैं, तो आप SEMIJOIN . का उपयोग कर सकते हैं दाएँ और बाएँ अर्ध-जुड़ने के लिए उपवाक्य। यानी आप LEFT SEMIJOIN . का इस्तेमाल कर सकते हैं या RIGHT SEMIJOIN


  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 सर्वर डेटा की स्क्रिप्ट कैसे प्राप्त करें?

  2. SQL सर्वर एक्सप्रेस की सीमाएं

  3. SQL सर्वर ड्राइवर का उपयोग करके PDO के माध्यम से SQL सर्वर से कनेक्ट करें

  4. SQL सर्वर में SHOWPLAN_XML कैसे काम करता है

  5. SQL सर्वर के लिए I/O प्रदर्शन का विश्लेषण