SQL RIGHT JOIN Keyword

दाएँ तालिका से सभी रिकॉर्ड लौटाने और बाएँ तालिका से मिलान करने वाले रिकॉर्ड लौटाने के लिए RIGHT JOIN के बारे में जानें

RIGHT JOIN Keyword क्या हैं?

RIGHT JOIN कीवर्ड दाईं तालिका (तालिका 2) से सभी रिकॉर्ड और बाईं तालिका (तालिका 1) से मिलान रिकॉर्ड लौटाता है। यदि कोई बेमेल है, तो 0 रिकॉर्ड बाईं ओर से समाप्त होते हैं।

राइट जॉइन सिंटैक्स

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

नोट:

कुछ डेटाबेस में राइट जॉइन को राइट आउटर जॉइन कहा जाता है।

प्रदर्शन डेटाबेस

इस अभ्यास में हम प्रसिद्ध नॉर्थविंड मॉडल डेटाबेस का उपयोग करेंगे।

नीचे "ऑर्डर" तालिका से एक चयन दिया गया है:

आदेश तालिका

+---------+------------+-----------+------------+------------+
| OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
+---------+------------+-----------+------------+------------+
| 10308   | 2          | 7         | 1996-09-18 | 3         |
| 10309   | 37         | 3         | 1996-09-19 | 1         |
| 10310   | 77         | 8         | 1996-09-20 | 2         |
+---------+------------+-----------+------------+------------+

और "कर्मचारी" तालिका से एक चयन:

कर्मचारियों की मेज

+------------+-----------+-----------+------------+------------+
| EmployeeID | LastName  | FirstName | BirthDate  | Photo      |
+------------+-----------+-----------+------------+------------+
| 1          | Davolio   | Nancy     | 12/8/1968  | EmpID1.pic |
| 2          | Fuller    | Andrew    | 2/19/1952  | EmpID2.pic |
| 3          | Leverling | Janet     | 8/30/1963  | EmpID3.pic |
+------------+-----------+-----------+------------+------------+

SQL RIGHT JOIN उदाहरण

निम्नलिखित SQL कथन सभी कर्मचारियों और उनके पास मौजूद किसी भी आदेश को लौटा देगा:

उदाहरण

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

नोट:

RIGHT JOIN कीवर्ड दाईं तालिका (कर्मचारियों) से सभी रिकॉर्ड लौटाता है, भले ही बाईं तालिका (ऑर्डर) में कोई मिलान न हो।

राइट जॉइन दृश्य प्रतिनिधित्व

आदेश तालिका (बाएं)

OrderID
EmployeeID
10308
7
10309
3
10310
8
RIGHT JOIN

कर्मचारी तालिका (दाएं)

EmployeeID
LastName
1
Davolio
2
Fuller
3
Leverling
4
Peacock

राइट जॉइन परिणाम

OrderID
LastName
FirstName
नोट
NULL
Davolio
Nancy
कोई आदेश नहीं
NULL
Fuller
Andrew
कोई आदेश नहीं
10309
Leverling
Janet
लागू आदेश
NULL
Peacock
Margaret
कोई आदेश नहीं

टिप्पणी:राइट जॉइन सभी कर्मचारियों (राइट टेबल) को दिखाता है, चाहे उनके पास ऑर्डर हों या नहीं। मेल न खाने वाले कर्मचारियों के लिए ऑर्डरआईडी को NULL के रूप में प्रदर्शित किया जाएगा।

जब राइट जॉइन का उपयोग किया जाना चाहिए

सभी कर्मचारियों को देखें

बिना आदेश वाले कर्मचारियों सहित सभी कर्मचारियों की सूची बनाना

सभी श्रेणियां देखें

उत्पादों के बिना श्रेणियों सहित सभी श्रेणियां देखें

सभी शिपर्स देखें

बिना ऑर्डर वाले शिपर्स सहित सभी शिपर्स को सूचीबद्ध करना

RIGHT JOIN vs LEFT JOIN

RIGHT JOIN

  • दाहिनी मेज सेसभीपंक्तियों
  • बायीं तालिका से पंक्तियों का मिलान
  • बेमेल के लिए शून्य मान
  • कुल पंक्तियाँ ≥ दाएँ तालिका पंक्तियाँ
SELECT *
FROM TableA
RIGHT JOIN TableB
ON TableA.ID = TableB.ID;

LEFT JOIN

  • बायीं मेज सेसभीपंक्तियों
  • दाएँ तालिका से पंक्तियों का मिलान
  • बेमेल के लिए शून्य मान
  • कुल पंक्तियाँ ≥ बाईं तालिका पंक्तियाँ
SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.ID = TableB.ID;

महत्वपूर्ण सूचना:

राइट जॉइन लेफ्ट जॉइन का विपरीत है। टेबलए राइट जॉइन टेबलबी टेबलबी लेफ्ट जॉइन टेबलए के बराबर है।

अभ्यास

SQL राइट जॉइन कीवर्ड क्या करता है?

दोनों तालिकाओं से केवल मेल खाने वाले रिकॉर्ड लौटाता है
✗ ग़लत! ये इनर जॉइन का काम है
बाईं तालिका से सभी रिकॉर्ड लौटाता है और दाईं तालिका से मिलान रिकॉर्ड लौटाता है
✗ ग़लत! यह LEFT JOIN का काम है
दाईं तालिका से सभी रिकॉर्ड लौटाता है और बाईं तालिका से मिलान रिकॉर्ड लौटाता है
✓ ठीक है! राइट जॉइन दाहिनी तालिका से सभी रिकॉर्ड लौटाता है, भले ही बाईं तालिका में कोई मिलान न हो
दोनों तालिकाओं से सभी रिकॉर्ड लौटाता है
✗ ग़लत! ये FULL OUTER JOIN का काम है