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

कार्टेशियन और क्रॉस जॉइन के लिए वैकल्पिक

सख्त परिभाषा स्तर से, यह संभव नहीं है। क्यों? क्योंकि परिभाषा एक कार्टेशियन उत्पाद का ठीक वैसा ही है जैसा आप वर्णन करते हैं ("कार्टेशियन जॉइन" शब्द का अक्सर उपयोग नहीं किया जाता है, लेकिन "कार्टेशियन उत्पाद" का पर्याय है)। इसलिए, आपके द्वारा उपयोग की जाने वाली कोई भी विधि इस कार्यक्षमता को कार्यान्वित कर रही है। आम तौर पर यह कार्यक्षमता CROSS JOIN . का उपयोग करके कार्यान्वित की जा रही है (और मैं अनिच्छा से स्वीकार करता हूं, कभी-कभी , . का उपयोग करते हुए )।

आप कह सकते हैं "बिना + 1 किए किसी संख्या में 1 जोड़ें ". कोई और साथ आता है और कहता है "+ 2 - 1 . का उपयोग करें ". ठीक है, वह एक जोड़ रहा है, लेकिन सिर्फ एक के बजाय दो संचालन का उपयोग कर रहा है।

यदि आप कार्टेशियन उत्पाद चाहते हैं लेकिन आप CROSS JOIN का उपयोग नहीं करना चाहते हैं ऑपरेटर, सबसे विशिष्ट विधि ON 1=1 . का उपयोग करती है :

select t1.*, t2.*
from t1 join
     t2
     on 1 = 1;


  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. T-SQL का उपयोग करके SQL सर्वर में लिंक किए गए सर्वरों की सूची वापस करने के 2 तरीके

  3. SQL सर्वर में एक कॉलम में दो स्ट्रिंग्स के बीच एक स्ट्रिंग का चयन कैसे करें?

  4. इसमें डालें... मर्ज करें... चुनें (एसक्यूएल सर्वर)

  5. ORDER BY क्लॉज विचारों, इनलाइन कार्यों, व्युत्पन्न तालिकाओं में अमान्य है