SQL INNER JOIN स्टेटमेंट दो टेबल में दो कॉलम में सटीक मानों वाली पंक्तियों को लौटाता है। आप एक या एकाधिक कॉलम पर टेबल जॉइन कर सकते हैं। JOIN स्टेटमेंट दो डेटाबेस टेबल को जोड़ते हैं और उनकी सामग्री की तुलना करते हैं।
कभी-कभी आप एक ही समय में दो या अधिक टेबल से डेटा प्राप्त करना चाह सकते हैं और परिणाम को संयोजित कर सकते हैं।
उदाहरण के लिए, आप उत्पादों की सूची और उन आपूर्तिकर्ताओं के नाम प्राप्त करना चाह सकते हैं जिन्होंने उन उत्पादों की आपूर्ति की है। उत्पाद नामों और आपूर्तिकर्ता नामों की जानकारी दो टेबल में है।
यहीं SQL जॉइन काम आते हैं। जॉइन शर्त का उपयोग करके, आप कई टेबल से जानकारी को एक परिणाम सेट में संयोजित कर सकते हैं। SQL INNER JOIN एक प्रकार का जॉइन है जो उन रिकॉर्ड्स को लौटाता है जिनके दो टेबल में मिलान करने वाले कॉलम मान हैं। इस ट्यूटोरियल में, हम INNER JOIN का उपयोग करने पर चर्चा करने जा रहे हैं।
SQL INNER JOIN
SQL INNER JOIN दो निर्दिष्ट टेबल में प्रकट होने वाले कॉलम मानों वाले सभी रिकॉर्ड्स को पुनर्प्राप्त करता है। INNER JOIN स्टेटमेंट दो टेबल में डेटा का मिलान करने के लिए ON कीवर्ड का उपयोग करता है।
INNER JOIN SQL join का सबसे सामान्य प्रकार है। ऑपरेटर उन रिकॉर्ड्स को लौटाता है जिनका दोनों टेबल में मिलान होता है।
आइए INNER JOIN कीवर्ड के सिंटैक्स पर एक नज़र डालें:
SELECT name FROM customers INNER JOIN plans ON customers.plan_id = plans.id;
यह क्वेरी "customers" और "plans" टेबल से पंक्तियों को संयोजित करती है। यह उन सभी ग्राहकों की सूची लौटाता है जिनका "plan_id" "plans" टेबल में किसी भी ID के बराबर है।
हम अपनी टेबल को जोड़ने के लिए INNER JOIN क्लॉज का उपयोग करते हैं। ON कीवर्ड उस टेबल के नाम के बाद आता है जिसे हम जोड़ते हैं। आप ON कीवर्ड के बाद कई शर्तों को कॉमा से अलग करके निर्दिष्ट कर सकते हैं।
INNER JOIN SQL उदाहरण
अभी, हमारे पास एक कर्मचारी डेटाबेस है जो employees टेबल में प्रत्येक कर्मचारी का विभाग ID संग्रहीत करता है। हमने इस टेबल को SQL CREATE TABLE स्टेटमेंट के साथ बनाया था। विभाग के नाम company_departments नामक एक अलग टेबल में संग्रहीत हैं।
यहां employees टेबल है:
| employees | ||
|---|---|---|
| name | title | department_id |
| Luke | Sales Associate | 1 |
| Mike | Sales Associate | 1 |
| Hannah | Sales Associate | 1 |
| Geoff | Senior Sales Associate | 1 |
| Alexis | Sales Associate | 1 |
| Jonah | Vice President of Sales | 3 |
| Emma | Marketing Director | 2 |
(7 पंक्तियाँ)
यह विभाग टेबल है:
| company_departments | |
|---|---|
| department_id | name |
| 1 | sales |
| 2 | marketing |
| 3 | executive |
(3 पंक्तियाँ)
मान लीजिए कि हम सभी कर्मचारियों के नाम, टाइटल, और विभाग के नाम प्राप्त करना चाहते हैं। यह डेटा दो टेबल में समाहित है: कर्मचारी नाम और टाइटल employees टेबल में हैं। विभाग के नाम company_departments टेबल में हैं।
हम जिस जानकारी की तलाश कर रहे हैं, उसे कैसे प्राप्त करें?
employees टेबल में department_id नामक एक कॉलम है। यह कॉलम उस विभाग का ID रखता है जिसके लिए प्रत्येक कर्मचारी काम करता है।
company_departments टेबल में, प्रत्येक विभाग का भी एक ID होता है (जो टेबल में प्राइमरी की है)। इसका मतलब है कि हम कर्मचारी के department_id का विभागों की सूची से मिलान कर सकते हैं। ऐसा करने से हमें पता चल जाएगा कि उस कर्मचारी के लिए काम करने वाले विभाग का नाम क्या है।
आइए एक क्वेरी लिखें जो कर्मचारी का नाम, उनका टाइटल, और उस विभाग का नाम पुनर्प्राप्त करती है जिसके लिए वे काम करते हैं:
SELECT Employees.Name, Employees.Title, Company_Departments.Name FROM Employees INNER JOIN Company_Departments ON Employees.Department_ID = Company_Departments.Department_ID;
हमारी क्वेरी निम्नलिखित मिलान वाली पंक्तियाँ लौटाती है:
| name | title | name |
| Alexis | Sales Associate | Sales |
| Geoff | Senior Sales Associate | Sales |
| Hannah | Sales Associate | Sales |
| Mike | Sales Associate | Sales |
| Luke | Sales Associate | Sales |
| Emma | Marketing Director | Marketing |
| Jonah | Vice President of Sales | Executive |
पहली लाइन पर, हम डेटाबेस को employees टेबल से कर्मचारी का नाम और टाइटल प्राप्त करने के लिए कहते हैं। हम company_departments टेबल से कंपनी विभाग का नाम भी पुनर्प्राप्त करते हैं।
दूसरी लाइन पर, हम निर्दिष्ट करते हैं कि हम employees टेबल से कर्मचारी जानकारी प्राप्त करना चाहते हैं। अगला, हम अपने INNER JOIN का उपयोग अपने employees टेबल को company_departments टेबल से जोड़ने के लिए करते हैं, जिसमें विभागों के नाम शामिल हैं।
अंत में, हमारी अंतिम लाइन employees और company_departments टेबल दोनों को उनके सामान्य फ़ील्ड द्वारा एक साथ जोड़ती है, इस मामले में department_id।
निष्कर्ष
SQL INNER JOIN स्टेटमेंट दो टेबल में दो मिलान वाले कॉलम मानों वाले रिकॉर्ड्स को पुनर्प्राप्त करता है। ON स्टेटमेंट आपको उन शर्तों को निर्दिष्ट करने देता है जिन पर आपका इनर जॉइन निष्पादित होता है।
जॉइन में महारत हासिल करना SQL डेटाबेस क्वेरी करने का एक महत्वपूर्ण हिस्सा है, और यह समझ आपको SQL विशेषज्ञ बनने के एक कदम और करीब ले जाएगी।
हमने आप जैसे शिक्षार्थियों को SQL में महारत हासिल करने में मदद करने के लिए how to learn SQL गाइड लिखा है। इस गाइड में शीर्ष शिक्षण संसाधनों और पाठ्यक्रमों की सूची के साथ-साथ SQL सीखने के तरीके पर सलाह शामिल है। गाइड को हमारे How to Learn SQL पेज पर देखें।