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

SQL में INNER JOIN का उपयोग कैसे करें

इस लेख में, हम INNER JOIN अवधारणा के बारे में जानेंगे और SQL में WHERE क्लॉज के साथ इसका उपयोग कैसे करें।

एसक्यूएल में इनर जॉइन क्या है?

इनर जॉइन SQL में शामिल होने का एक प्रकार है। SQL में इनर जॉइन व्यापक रूप से इस्तेमाल किया जाने वाला जॉइन है। यह जॉइन केवल उन पंक्तियों को लौटाता है जो दोनों तालिकाओं में सामान्य हैं। इनर जॉइन का उपयोग दो टेबल को जोड़ने के लिए किया जाता है।

एसक्यूएल में इनर जॉइन का सिंटैक्स:

SELECT table1.columname1, table1.columnname2, table2.columnname1, table2.columnname2 FROM TABLE1 INNER JOIN TABLE2 ON table1.column = table2.column;

Table1.column =table2.column वह सामान्य कॉलम है जो इन दो तालिकाओं के बीच पैरेंट चाइल्ड संबंध बनाए रखता है।

SQL क्वेरी में इनर जॉइन में हमें कुछ चरणों का उपयोग करना होगा:

1. डेटाबेस नाम के बाद USE कीवर्ड का उपयोग करके डेटाबेस का चयन करके एक नया डेटाबेस बनाएं या मौजूदा डेटाबेस का उपयोग करें।

2. चयनित डेटाबेस के अंदर एक नई तालिका बनाएं, या आप पहले से बनाई गई तालिका का उपयोग कर सकते हैं।

3. यदि तालिका नई बनाई गई है, तो INSERT क्वेरी का उपयोग करके नए बनाए गए डेटाबेस में रिकॉर्ड डालें।

4. इनर जॉइन क्वेरी के बिना SELECT क्वेरी का उपयोग करके डाला गया डेटा देखें।

5 अब, हम SQL क्वेरी में इनर जॉइन का उपयोग करने के लिए तैयार हैं।

चरण 1:एक नया डेटाबेस बनाएं या पहले से बनाए गए डेटाबेस का उपयोग करें।

मैंने पहले ही एक डेटाबेस बना लिया है। मैं अपने मौजूदा बनाए गए डेटाबेस नाम, कंपनी का उपयोग करूंगा।

USE Company;

कंपनी डेटाबेस का नाम है।

जिन लोगों ने डेटाबेस नहीं बनाया है, वे डेटाबेस बनाने के लिए नीचे दी गई क्वेरी का पालन करते हैं:

CREATE DATABASE database_name;

डेटाबेस बनाने के बाद, डेटाबेस नाम के बाद USE कीवर्ड का उपयोग करके डेटाबेस का चयन करें।

चरण 2:एक नई तालिका बनाएं या पहले से मौजूद तालिका का उपयोग करें:

मैंने पहले ही एक टेबल बना लिया है। मैं कर्मचारी और प्रबंधक नाम की मौजूदा तालिका का उपयोग करूंगा क्योंकि हम इनर जॉइन क्वेरी को निष्पादित कर रहे हैं।

नई तालिका बनाने के लिए, नीचे दिए गए CREATE TABLE सिंटैक्स का पालन करें:

CREATE TABLE table_name(

columnname1 datatype(column size),

columnname2 datatype(column size),

columnname3 datatype(column size)

);

चरण 3:INSERT क्वेरी का उपयोग करके नई बनाई गई तालिका में रिकॉर्ड डालें

तालिका में नए रिकॉर्ड सम्मिलित करने के लिए नीचे दिए गए सिंटैक्स का उपयोग करें:

INSERT INTO table_name VALUES(value1, value2, value3);

चरण 4: चयन क्वेरी का उपयोग करके रिकॉर्ड देखें।

निम्नलिखित सिंटैक्स का उपयोग करके तालिका से रिकॉर्ड देखें:

SELECT * FROM table_name;

निम्न क्वेरी कर्मचारियों के रिकॉर्ड प्रदर्शित करेगी।

SELECT * FROM Employees;

उपरोक्त SELECT क्वेरी का आउटपुट है:

कर्मचारी FIRST_NAME LAST_NAME वेतन शहर विभाग मैनेजरिड
1001 वैभवी मिश्रा 65500 पुणे ओरेकल 1
1002 वैभव शर्मा 60000 नोएडा सी# 5
1003 निखिल वाणी 50500 जयपुर FMW 2
2001 प्राची शर्मा 55500 चंडीगढ़ ओरेकल 1
2002 भावेश जैन 65500 पुणे FMW 2
2003 रुचिका जैन 50000 मुंबई सी# 5
3001 प्रानोटी शेंडे 55500 पुणे जावा 3
3002 अनुजा WANRE 50500 जयपुर FMW 2
3003 दीपम जौहारी 58500 मुंबई जावा 3
4001 राजेश GOUD 60500 मुंबई परीक्षण 4
4002 अश्विनी बगत 54500 नोएडा जावा 3
4003 रुचिका अग्रवाल 60000 दिल्ली ओरेकल 1
5001 ARCHIT शर्मा 55500 दिल्ली परीक्षण 4
5002 संकेट चौहान 70000 हैदराबाद जावा 3
5003 रोशन NEHTE 48500 चंडीगढ़ सी# 5
6001 राहुल निकम 54500 बैंगलोर परीक्षण 4
6002 आतिश जाधव 60500 बैंगलोर सी# 5
6003 निकिता इंगले 65000 हैदराबाद ओरेकल 1

निम्न क्वेरी प्रबंधक के रिकॉर्ड प्रदर्शित करेगी।

SELECT * FROM Manager;

उपरोक्त SELECT क्वेरी का आउटपुट है:

प्रबंधक manager_name प्रबंधक_विभाग
1 स्नेहदीप कौर ओरेकल
2 कीर्ति कीर्तन FMW
3 अभिषेक मनीष जावा
4 अनुपम मिश्रा परीक्षण
5 आकाश कदम सी#

निम्न क्वेरी लैपटॉप के रिकॉर्ड प्रदर्शित करेगी।

SELECT * FROM Laptop;

उपरोक्त SELECT क्वेरी का आउटपुट है:

लैपटॉपिड नाम कर्मचारी
101 डेल शून्य
102 हिमाचल प्रदेश 1002
103 लेनोवो शून्य
104 हिमाचल प्रदेश 3003
105 डेल 4002
106 लेनोवो 4003
107 डेल 5001
108 हिमाचल प्रदेश शून्य
109 डेल शून्य
110 हिमाचल प्रदेश शून्य
111 लेनोवो 2002
112 लेनोवो 6003
113 हिमाचल प्रदेश 1003

चरण 5:हम प्रश्नों में INNER JOIN का उपयोग करने के लिए तैयार हैं

आइए उदाहरणों की मदद से इनर जॉइन को समझते हैं।

उदाहरण 1: इनर जॉइन का उपयोग करके कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, वेतन, कर्मचारी की तालिका से शहर और प्रबंधक तालिका से प्रबंधक आईडी और प्रबंधक का नाम प्रदर्शित करने के लिए एक प्रश्न लिखें।

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, E.CITY, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID;

उपरोक्त प्रश्न में, हमने कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, वेतन, कर्मचारी की तालिका से शहर और प्रबंधक आईडी, प्रबंधक तालिका से प्रबंधक का नाम प्राप्त किया है जहां कर्मचारी तालिका प्रबंधक आईडी कॉलम प्रबंधक तालिका प्रबंधक आईडी कॉलम के बराबर है। क्वेरी दोनों तालिकाओं से सभी मिलान रिकॉर्ड लौटाएगी। प्रबंधक आईडी दोनों तालिकाओं के बीच एक सामान्य स्तंभ है। ई कर्मचारी तालिका के लिए उपनाम नाम है, जबकि एम प्रबंधक तालिका के लिए है। प्रबंधक आईडी कॉलम कर्मचारी तालिका में एक विदेशी कुंजी के रूप में कार्य करता है। प्रबंधक आईडी प्रबंधक तालिका में प्राथमिक कुंजी के रूप में कार्य करती है, जो दो तालिकाओं के बीच अभिभावक-बाल संबंध बनाती है।

उपरोक्त क्वेरी का आउटपुट है:

कर्मचारी FIRST_NAME LAST_NAME वेतन शहर विभाग मैनेजरिड
1001 वैभवी मिश्रा 65500 पुणे ओरेकल 1
2001 प्राची शर्मा 55500 चंडीगढ़ ओरेकल 1
4003 रुचिका अग्रवाल 60000 दिल्ली ओरेकल 1
6003 निकिता इंगले 65000 हैदराबाद ओरेकल 1
1003 निखिल वाणी 50500 जयपुर FMW 2
2002 भावेश जैन 65500 पुणे FMW 2
3002 अनुजा WANRE 50500 जयपुर FMW 2
3001 प्रानोटी शेंडे 55500 पुणे जावा 3
3003 दीपम जौहारी 58500 मुंबई जावा 3
4002 अश्विनी बगत 54500 नोएडा जावा 3
5002 संकेट चौहान 70000 हैदराबाद जावा 3
4001 राजेश GOUD 60500 मुंबई परीक्षण 4
5001 ARCHIT शर्मा 55500 दिल्ली परीक्षण 4
6001 राहुल निकम 54500 बैंगलोर परीक्षण 4
1002 वैभव शर्मा 60000 नोएडा सी# 5
2003 रुचिका जैन 50000 मुंबई सी# 5
5003 रोशन NEHTE 48500 चंडीगढ़ सी# 5
6002 आतिश जाधव 60500 बैंगलोर सी# 5

डिफ़ॉल्ट प्रबंधक आईडी द्वारा रिकॉर्ड आरोही क्रम में प्रदर्शित होते हैं।

उदाहरण 2: कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, शहर और विभाग प्रदर्शित करने के लिए एक प्रश्न लिखें और प्रबंधक आईडी और प्रबंधक तालिका से प्रबंधक का नाम इनर जॉइन का उपयोग करके जहां कर्मचारी विभाग C# है।

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.CITY, E.DEPARTMENT, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID WHERE DEPARTMENT = ‘C#’;

उपरोक्त प्रश्न में, हमने कर्मचारी तालिका से कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, शहर और विभाग, प्रबंधक आईडी, और प्रबंधक तालिका से प्रबंधक नाम प्राप्त किया है, जहां प्रबंधक तालिका से प्रबंधक आईडी केवल प्रबंधक तालिका से प्रबंधक आईडी के बराबर है वे कर्मचारी रिकॉर्ड करते हैं जिनका कर्मचारी विभाग C# है।

उपरोक्त क्वेरी का आउटपुट है:

कर्मचारी FIRST_NAME LAST_NAME वेतन शहर विभाग मैनेजरिड
1002 वैभव शर्मा 60000 नोएडा सी# 5
2003 रुचिका जैन 50000 मुंबई सी# 5
5003 रोशन NEHTE 48500 चंडीगढ़ सी# 5
6002 आतिश जाधव 60500 बैंगलोर सी# 5

उपरोक्त आउटपुट में, हम देख सकते हैं कि केवल उन कर्मचारियों से रिकॉर्ड प्राप्त किए गए हैं जिनका विभाग सी # है। हम INNER जॉइन के साथ WHERE क्लॉज का उपयोग करते हैं।

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

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.SALARY, E.CITY, E.DEPARTMENT, L.LAPTOPID, L.NAME FROM EMPLOYEES E INNER JOIN LAPTOP L ON E.EMPLOYEEID = L.EMPLOYEEID;

उपरोक्त प्रश्न में, हमने कर्मचारी आईडी, प्रथम नाम, वेतन, शहर और विभाग कर्मचारियों की तालिका से, और लैपटॉप आईडी, और लैपटॉप तालिका से नाम प्राप्त किया है जहां कर्मचारी तालिका से कर्मचारी आईडी लैपटॉप तालिका से कर्मचारी आईडी के बराबर है . कर्मचारी आईडी लैपटॉप तालिका में एक विदेशी कुंजी है, जो कर्मचारी तालिका और लैपटॉप तालिका के बीच अभिभावक-बाल संबंध बनाता है।

उपरोक्त क्वेरी का आउटपुट है:

कर्मचारी FIRST_NAME वेतन शहर विभाग लैपटॉपिड नाम
1002 वैभव 60000 नोएडा सी# 102 हिमाचल प्रदेश
3003 दीपम 58500 मुंबई जावा 104 हिमाचल प्रदेश
4002 अश्विनी 54500 नोएडा जावा 105 डेल
4003 रुचिका 60000 दिल्ली ओरेकल 106 लेनोवो
5001 ARCHIT 55500 दिल्ली परीक्षण 107 डेल
2002 भावेश 65500 पुणे FMW 111 लेनोवो
6003 निकिता 65000 हैदराबाद ओरेकल 112 लेनोवो
1003 निखिल 50500 जयपुर FMW 113 हिमाचल प्रदेश

दिए गए आउटपुट में केवल वही रिकॉर्ड प्रदर्शित होते हैं जिन्हें लैपटॉप सौंपा गया है।

उदाहरण 4: कर्मचारी तालिका से कर्मचारी आईडी, पहला नाम, वेतन और विभाग प्रदर्शित करने के लिए एक प्रश्न लिखें, और प्रबंधक आईडी और प्रबंधक का नाम प्रबंधक तालिका से आंतरिक जुड़ाव का उपयोग करके जहां वेतन> 57000 या विभाग Oracle है।

SELECT EMPLOYEEID, FIRST_NAME, SALARY, DEPARTMENT, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID = M.MANAGERID WHERE SALARY > 57000 OR DEPARTMENT = 'ORACLE';

उपरोक्त प्रश्न में, हमने कर्मचारी आईडी, प्रथम नाम, वेतन और विभाग को कर्मचारी तालिका से प्राप्त किया है, और प्रबंधक आईडी और प्रबंधक का नाम प्रबंधक तालिका से प्राप्त किया है जहां कर्मचारी तालिका से प्रबंधक आईडी प्रबंधक से केवल उन कर्मचारियों के प्रबंधक आईडी के बराबर है जिनके वेतन 57000 से अधिक है या विभाग Oracle है।

उपरोक्त क्वेरी का आउटपुट है:

कर्मचारी FIRST_NAME LAST_NAME वेतन शहर विभाग मैनेजरिड
1001 वैभवी मिश्रा 65500 पुणे ओरेकल 1
2001 प्राची शर्मा 55500 चंडीगढ़ ओरेकल 1
4003 रुचिका अग्रवाल 60000 दिल्ली ओरेकल 1
6003 निकिता इंगले 65000 हैदराबाद ओरेकल 1
2002 भावेश जैन 65500 पुणे FMW 2
3003 दीपम जौहारी 58500 मुंबई जावा 3
5002 संकेट चौहान 70000 हैदराबाद जावा 3
4001 राजेश GOUD 60500 मुंबई परीक्षण 4
1002 वैभव शर्मा 60000 नोएडा सी# 5
6002 आतिश जाधव 60500 बैंगलोर सी# 5

उपरोक्त आउटपुट में, केवल वे कर्मचारी रिकॉर्ड प्रदर्शित होते हैं जिनका वेतन 57000 से अधिक है या कर्मचारी विभाग 'ओरेकल' है। यदि क्वेरी में दी गई शर्तों में से कोई एक सत्य है तो OR ऑपरेटर रिकॉर्ड प्रदर्शित करता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सरल मानकीकरण और तुच्छ योजनाएँ — भाग 3

  2. प्रदर्शन आश्चर्य और अनुमान:GROUP BY बनाम DISTINCT

  3. एसक्यूएल में कॉलम के मूल्यों का योग कैसे करें?

  4. SQL में दो तालिकाओं से पंक्तियों के सभी संभावित संयोजन कैसे प्राप्त करें

  5. विदेशी कुंजियों को अनुक्रमित करने के लाभ