मिक्स-एंड-मैच - LEFT और RIGHT joins

SQL Server परिचय

John MacKintosh

Instructor

LEFT और RIGHT joins का तर्क

  • हमें LEFT और RIGHT joins की ज़रूरत क्यों है?
  • एक टेबल का दूसरी में सटीक मैच न हो सकता है:
    • मार्केटिंग कैंपेन के लिए कस्टमर ऑर्डर हिस्ट्री
    • प्रोडक्ट लिस्ट और रिटर्न्स हिस्ट्री
    • भर्ती मरीज, जो अभी डिस्चार्ज नहीं हुए
SQL Server परिचय

LEFT और RIGHT joins का तर्क

  • हमें LEFT और RIGHT joins की ज़रूरत क्यों है?
  • एक टेबल का दूसरी में सटीक मैच न हो सकता है:
    • मार्केटिंग कैंपेन के लिए कस्टमर ऑर्डर हिस्ट्री
    • प्रोडक्ट लिस्ट और रिटर्न्स हिस्ट्री
    • भर्ती मरीज, जो अभी डिस्चार्ज नहीं हुए
SQL Server परिचय

Admissions टेबल

+------------+----------+
| Patient_ID | Admitted | 
|------------+----------|
| 1          | 1        |
| 2          | 1        |
| 3          | 1        |
| 4          | 1        |
| 5          | 1        |
+------------+----------+

Discharges टेबल

+------------+------------+
| Patient_ID | Discharged | 
|------------+------------|
| 1          | 1          |
| 3          | 1          |
| 4          | 1          |
+------------+------------+

INNER JOIN:

+------------+----------+------------|
| Patient_ID | Admitted | Discharged |
|------------+----------|------------|
| 1          | 1        | 1          |
| 3          | 1        | 1          |
| 4          | 1        | 1          |
+------------+----------+------------+

LEFT JOIN:

+------------+----------+------------|
| Patient_ID | Admitted | Discharged |
|------------+----------|------------|
| 1          | 1        | 1          |
| 2          | 1        | NULL       |
| 3          | 1        | 1          |
| 4          | 1        | 1          |
| 5          | 1        | NULL       |
+------------+----------+------------+
SQL Server परिचय

LEFT JOIN सिंटैक्स

SELECT 
  Admitted.Patient_ID, 
  Admitted, 
  Discharged 
FROM Admitted 
LEFT JOIN Discharged ON Discharged.Patient_ID = Admitted.Patient_ID;

SQL Server परिचय
SELECT 
  Admitted.Patient_ID, 
  Admitted, 
  Discharged 
FROM Admitted 
LEFT JOIN Discharged ON Discharged.Patient_ID = Admitted.Patient_ID;
+------------+----------+------------|
| Patient_ID | Admitted | Discharged |
|------------+----------|------------|
| 1          | 1        | 1          |
| 2          | 1        | NULL       |
| 3          | 1        | 1          |
| 4          | 1        | 1          |
| 5          | 1        | NULL       |
+------------+----------+------------+
SQL Server परिचय

RIGHT JOIN

SELECT 
  Admitted.Patient_ID, 
  Admitted, 
  Discharged 
FROM Discharged 
RIGHT JOIN Admitted ON Admitted.Patient_ID = Discharged.Patient_ID;

SQL Server परिचय

RIGHT JOIN परिणाम

SELECT 
  Admitted.Patient_ID, 
  Admitted, 
  Discharged 
FROM Discharged 
RIGHT JOIN Admitted ON Admitted.Patient_ID = Discharged.Patient_ID;
+------------+----------+------------|
| Patient_ID | Admitted | Discharged |
|------------+----------|------------|
| 1          | 1        | 1          |
| 2          | 1        | NULL       |
| 3          | 1        | 1          |
| 4          | 1        | 1          |
| 5          | 1        | NULL       |
+------------+----------+------------+
SQL Server परिचय

सारांश

  • INNER JOIN: सिर्फ़ matching rows लौटाता है
  • LEFT JOIN (या RIGHT JOIN): मुख्य टेबल की सारी rows, साथ में joining टेबल से matches
  • NULL: मैच न मिलने पर दिखता है
  • LEFT JOIN और RIGHT JOIN अदल-बदल कर उपयोग हो सकते हैं
SQL Server परिचय

SQL Server परिचय

अभ्यास करते हैं!

SQL Server परिचय

Preparing Video For Download...