Left Join (Left Outer Join) In Hindi
एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम में एक LEFT JOIN जिसे LEFT OUTER JOIN के रूप में भी जाना जाता है, SQL डेटाबेस में एक प्रकार का पॉपुलर दो अलग अलग टेबल जॉइन मेथड है. जो दो डेटाबेस टेबल में लेफ्ट टेबल जॉइन प्रोसेस में फर्स्ट टेबल से सभी टेबल कॉलम रो और राइट टेबल जॉइन प्रोसेस में सेकंड टेबल से प्रॉपर एग्जैक्ट मैच टेबल रौ वैल्यू को रिटर्न करता है। यदि यहाँ डेटाबेस टेबल में कोई प्रॉपर मैच नहीं मिलता है, तो फाइनल रिजल्ट में राइट टेबल के कॉलम के लिए NULL वैल्यू डिफाइन होंगी।

अन्य प्रोसेस में कहे तो, डेटाबेस टेबल में एक LEFT JOIN मेथड यह तय करता है कि फर्स्ट ज्वाइन लेफ्ट टेबल के सभी रिकॉर्ड रिटर्न किए जाएं, चाहे यहाँ राइट सेकंड टेबल में कोई मैचिंग टेबल रिकॉर्ड मौजूद हो या न हो। अगर यहाँ दोनों टेबल में कोई मैच मिलता है, तो राइट सेकंड टेबल से रिलेटेड डेटा इनफार्मेशन को ऐड किया जाता है. अगर यहाँ किसी भी प्रकार का टेबल मैच नहीं मिलता है. तो राइट टेबल के कॉलम में NULL वैल्यू ऐड कर डिस्प्ले की जाती हैं।
Syntax of LEFT JOIN in SQL database.
SELECT columns
FROM tableX
LEFT JOIN tableY
ON tableX.column_name = tableY.column_name;
element of LEFT JOIN in SQL database.
- tableX – एसक्यूएल डेटाबेस टेबल में लेफ्ट टेबल वह होती है, जहा इस टेबल से सभी टेबल रो वैल्यू रिटर्न की जाती है।
- tableY – एसक्यूएल डेटाबेस टेबल में राइट टेबल वह होती है, जहा इस टेबल से मैचिंग टेबल रो वैल्यू रिटर्न की जाती है।
- column_name – यह लेफ्ट ज्वाइन प्रोसेस में दो डेटाबेस टेबल के बीच एग्जैक्ट मैचिंग के लिए यूज़ होने वाला टेबल कॉलम है।
How LEFT JOIN works in SQL database tables.
एसक्यूएल डेटाबेस टेबल में लेफ्ट टेबल हमेशा इसके सभी टेबल रो को रिजल्ट सेट के रूप में प्रीव्यू करती है।
यदि राइट डेटाबेस टेबल में कोई प्रॉपर एग्जैक्ट मैचिंग रो मौजूद है, तो इसमें राइट डेटाबेस टेबल की वैल्यू इनफार्मेशन ऐड की जाएंगी।
यदि राइट डेटाबेस टेबल में कोई मैचिंग रो मौजूद नहीं है, तो डेटाबेस रिजल्ट सेट में राइट टेबल के कॉलम के लिए NULL वैल्यू ऐड होंगी।
Basic LEFT JOIN example in SQL database tables.
Required database table information.
- employe – यहाँ एम्प्लॉई टेबल में एम्प्लॉई की टोटल डिटेल्स होती हैं।
- employe_id, name, department_id
- department – यहाँ डिपार्टमेंट टेबल में डिपार्टमेंट की सभी डिटेल्स होती हैं।
- department_id, department_name
Sample data for the employee database table.
employe table.
employe_id emp_name department_id
101 Siddhi deora S101
201 Harry deora H204
301 Bhavshi deora B302
307 Anil Jain NULL
Sample data for the department database table.
department_id department_name
K403 Marketing
M908 Development
N888 Design
Employe and department table query.
SELECT employe.emp_name, department.department_name
FROM employe
LEFT JOIN department
ON employe.department_id = department.department_id;
Explanation of Employe and department table LEFT JOIN method.
- यहाँ डेटाबेस टेबल क्वेरी में एम्प्लॉई का नाम और department टेबल से उनके department_name को एक्सट्रैक्ट करता है।
- यहाँ डेटाबेस टेबल में LEFT JOIN यह फिक्स करता है कि एम्प्लॉई टेबल में सभी एम्प्लॉई डाटा को रिटर्न किया जाए. यहां तक कि उन एम्प्लॉई रिकॉर्ड को डिस्प्लै करे, जिन्हें अब तक कोई डिपार्टमेंट असाइन नहीं किया गया है. जैसे, एम्प्लॉई Anil Jain है।
Result of Employe and department table.
emp_name department_name
Siddhi deora Marketing
Harry deora Development
Bhavshi deora Design
Anil Jain NULL
How LEFT JOIN works in SQL database tables.
यहाँ डेटाबेस टेबल में Siddhi deora, Harry deora और Bhavshi deora के डिपार्टमेंट प्रॉपर मैच करते हैं, इस वजह से उनके डिपार्टमेंट के नाम यहाँ ऐड किए गए हैं।
Anil Jain का कोई डिपार्टमेंट इसमें डिफाइन नहीं किया गया है, यहाँ department_id में NULL वैल्यू डिफाइन है, इस वजह से उसका डिपार्टमेंट का नाम NULL डिस्प्ले किया गया है।
Example of LEFT JOIN with no matching data in the right table.
- तो चलिए यहाँ एसक्यूएल डेटाबेस टेबल में डेटा को इस तरह से मॉडिफाई करे कि राइट डेटाबेस टेबल में कुछ रिकॉर्ड के लिए कोई मैचिंग रो न हो।
Updated database table query.
Employe Table/same data.
employe_id emp_name department_id
101 Siddhi deora S101
201 Harry deora H204
301 Bhavshi deora B302
301 Anil Jain NULL
Department database table/modified table data.
department_id department_name
K403 Marketing
M908 Development
N888 Design
Statement of Employee and department table query.
SELECT employe.emp_name, department.department_name
FROM employe
LEFT JOIN department
ON employe.department_id = department.department_id;
Explanation of the employe and department table query.
- यहाँ Siddhi deora का एक मैचिंग डिपार्टमेंट Marketing है, लेकिन Harry deora और Bhavshi deora के डिपार्टमेंट टेबल में मैचिंग डिपार्टमेंट ID नहीं हैं। क्योंकि Anil Jain के लिए department_id NULL डिफाइन है, इस वजह से उसके लिए भी कोई भी टेबल मैच नहीं मिलता है।
- यहाँ LEFT JOIN प्रोसेस में Harry deora, Bhavshi deora और Anil Jain के लिए department_name के लिए NULL वैल्यू को रिटर्न करेगा, क्योंकि यहाँ सेकंड डिपार्टमेंट टेबल में इनके लिए कोई प्रॉपर मैच नहीं मिलता है।
Result of the employe and department table match query.
emp_name Department Name
Siddhi deora Marketing
Harry deora NULL
Bhavshi deora NULL
Anil Jain NULL
How LEFT JOIN works in SQL database management.
यहाँ रिजल्ट के रूप में एम्प्लॉई की टेबल के सभी रिकॉर्ड इन्क्लुड किए गए हैं, चाहे यहाँ डिपार्टमेंट टेबल में कोई रिकॉर्ड प्रॉपर मैच न हो।
जब यहाँ डिपार्टमेंट टेबल में कोई मैच नहीं मिलता है, तो डिपार्टमेंट टेबल में department_name कॉलम में यह NULL वैल्यू को डिस्प्ले करता है।
Example of LEFT JOIN with aliases in SQL database management.
एसक्यूएल डेटाबेस मैनेजमेंट में टेबल एलियास का यूज़ करने से डेटाबेस क्वेरी ज़्यादा डिटेल और एडवांस्ड हो सकती हैं, स्पेशली, जब डेटाबेस यूजर एक साथ मल्टीप्ल टेबल के साथ वर्क कर रहे हों।
Employe and department table query with aliases.
SELECT e.emp_name, d.department_name
FROM employe AS e
LEFT JOIN department AS d
ON e.department_id = d.department_id;
Explanation of the query with aliases database table.
- यहाँ डेटाबेस टेबल में e और d को employe और department टेबल के लिए एलियास के रूप में डिफाइन किया गया हैं।
- यहाँ ये टेबल क्वेरी ज़्यादा कॉम्पैक्ट होती है, लेकिन इसका आउटपुट पहले जैसा ही रिजल्ट प्रीव्यू करता है।
LEFT JOIN example with multiple tables in SQL database management.
यहाँ डेटाबेस यूजर दो या दो से ज़्यादा डेटाबेस टेबल के साथ भी LEFT JOIN को अप्लाई कर सकते हैं। तो चलिए यहाँ एम्प्लॉई की सैलरी की इनफार्मेशन को स्टोर करने के लिए एक तीसरी टेबल, पे, टेबल को ऐड करते हैं।
All database table information.
- employe – यहाँ एम्प्लॉई टेबल में employe_id, emp_name, department_id आदि टेबल कॉलम इनफार्मेशन होती है।
- department – यहाँ डिपार्टमेंट टेबल में department_id, department_name आदि टेबल कॉलम इनफार्मेशन होती है।
- pay – यहाँ पे टेबल में employe_id, salary आदि टेबल कॉलम इनफार्मेशन होती है।
Employe table sample data output.
Employe table query.
employe_id emp_name department_id
101 Siddhi deora S101
201 Harry deora H204
301 Bhavshi deora B302
307 Anil Jain NULL
pay table query.
employe_id salary
10 34909
30 65000
40 71987
Employe, department, and pay table query.
SELECT e.emp_name, d.department_name, p.pay
FROM employe AS e
LEFT JOIN department AS d
ON e.department_id = d.department_id
LEFT JOIN pay AS p
ON e.employe_id = p.employee_id;
Explanation of the Employe, department, and pay table query.
- यहाँ डेटाबेस टेबल क्वेरी एम्प्लॉई का नाम, department_name और पे सैलरी इनफार्मेशन को डिस्प्ले करती है।
- यहाँ इन तीनो टेबल में LEFT JOIN यह फिक्स करता है कि एम्प्लॉई टेबल में सभी एम्प्लॉई प्रीव्यू किए जाएं, और यदि इसमें कोई एम्प्लॉई डिपार्टमेंट या सैलरी इन्फर्मेशन नहीं मिलती है, तो उन टेबल कॉलम को NULL में डिफाइन कर यूज़ किया जाएगा।
Result of the Employe, department, and pay table query.
emp_name department_name salary
Siddhi deora Marketing 34909
Harry deora Development 65000
Bhavshi deora Design 71987
Anil Jain NULL NULL
How LEFT JOIN works in SQL database management.
यहाँ इस आउटपुट में Siddhi deora, Harry deora और Bhavshi deora एम्प्लॉई के पास मैचिंग डिपार्टमेंट और सैलरी हैं, लेकिन Anil Jain के पास पे सैलरी का रिकॉर्ड डाटा नहीं है, इस वजह से पे कॉलम में NULL इनफार्मेशन को डिस्प्ले किया गया है।
Anil Jain के पास कोई डिपार्टमेंट रिकॉर्ड नहीं है, इसलिए यहाँ department_name कॉलम में NULL टेक्स्ट वैल्यू को डिस्प्ले किया गया है।
Main Differences Between INNER JOIN and LEFT JOIN
| Join Aspect | INNER JOIN features | LEFT JOIN/LEFT OUTER JOIN features |
| What the table join returns | Inner join is used to Only rows with matching values in both tables table X and table Y. | Left join used to All rows from the left table, and matching rows from the right table at a same time in both tables. |
| Non-matching join table rows | Inner join used to Excludes table rows without matches in both tables at a same time. | Left join adds table rows from the first left table, with NULL for columns in the second right table if with no match. |
| Usage cases of joins | Inner join Used when database user only wants table rows with matching table data. | Left join Use when database user wants all table records from the left first table, even if there are no matches in the second right table. |
Conclusion of Left Join/Left Outer Join in Database Management.
एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम में LEFT JOIN या LEFT OUTER JOIN तब यूज़ किया जाता है, जब डेटाबेस यूजर डेटाबेस टेबल में यह तय करना चाहते हैं कि यूज़ लेफ्ट फर्स्ट डेटाबेस टेबल की सभी टेबल कॉलम रो रिजल्ट में इन्क्लुड और प्रीव्यू हों, चाहे ही राइट सेकंड डेटाबेस टेबल में कोई टेबल मैचिंग रो डाटा हो या न हो। अगर यहाँ डेटाबेस टेबल में कोई मैच नहीं होता है, तो रिजल्ट में राइट सेकंड टेबल के कॉलम के लिए NULL वैल्यू डिस्प्ले होंगी। यह उन कंडीशंस के लिए एक बेस्ट ऑप्शन है, जहाँ डेटाबेस यूजर लेफ्ट टेबल के सभी रिकॉर्ड को सिक्योर कर मैनेज करना चाहते हैं, चाहे रिलेटेड टेबल में कोई रिलेटेड टेबल डेटा इनफार्मेशन मौजूद न हो।
