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

SQL में क्रॉस जॉइन बनाम इनर जॉइन

क्रॉस जॉइन और इनर जॉइन का सबसे अच्छा उदाहरण यहां दिया गया है।

निम्नलिखित तालिकाओं पर विचार करें

तालिका :Teacher

x------------------------x
| TchrId   | TeacherName | 
x----------|-------------x
|    T1    |    Mary     |
|    T2    |    Jim      |
x------------------------x

तालिका :Student

x--------------------------------------x
|  StudId  |    TchrId   | StudentName | 
x----------|-------------|-------------x            
|    S1    |     T1      |    Vineeth  |
|    S2    |     T1      |    Unni     |
x--------------------------------------x
<एच3>1. इनर जॉइन

आंतरिक जुड़ाव उन पंक्तियों का चयन करता है जो दोनों तालिका को संतुष्ट करती हैं .

विचार करें कि हमें उन शिक्षकों को खोजने की आवश्यकता है जो कक्षा शिक्षक हैं और उनके संगत छात्र हैं। उस स्थिति में, हमें JOIN apply लागू करना होगा या INNER JOIN और होगा

क्वेरी

SELECT T.TchrId,T.TeacherName,S.StudentName 
FROM #Teacher T
INNER JOIN #Student S ON T.TchrId = S.TchrId
  • एसक्यूएल फिडल

परिणाम

x--------------------------------------x
|  TchrId  | TeacherName | StudentName | 
x----------|-------------|-------------x            
|    T1    |     Mary    |    Vineeth  |
|    T1    |     Mary    |    Unni     |
x--------------------------------------x

2. क्रॉस जॉइन करें

क्रॉस जॉइन पहली तालिका से सभी पंक्तियों और दूसरी तालिका से सभी पंक्तियों का चयन करता है और सभी संभावनाओं के साथ कार्टेशियन उत्पाद के रूप में दिखाता है

मान लीजिए कि हमें स्कूल में सभी शिक्षकों और छात्रों को खोजने की जरूरत है, चाहे वे किसी भी कक्षा के शिक्षक हों, हमें CROSS JOIN लागू करने की आवश्यकता है। ।

क्वेरी

SELECT T.TchrId,T.TeacherName,S.StudentName 
FROM #Teacher T
CROSS JOIN #Student S 
  • एसक्यूएल फिडल

परिणाम

x--------------------------------------x
|  TchrId  | TeacherName | StudentName | 
x----------|-------------|-------------x            
|    T2    |     Jim     |    Vineeth  |
|    T2    |     Jim     |    Unni     |
|    T1    |     Mary    |    Vineeth  |
|    T1    |     Mary    |    Unni     |
x--------------------------------------x


  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. जब सबक्वेरी EXISTS के साथ पेश नहीं की जाती है तो चयन सूची में केवल एक अभिव्यक्ति निर्दिष्ट की जा सकती है

  3. लगातार नंबरिंग के साथ SQL अपडेट करें

  4. यादृच्छिक तिथि के साथ पंक्तियों को कैसे अपडेट करें

  5. SQL सर्वर (T-SQL) में किसी क्वेरी के परिणाम ईमेल कैसे करें