हम SQL में दो टेबल को उनके बीच एक सामान्य कॉलम के आधार पर या किसी निर्दिष्ट शर्त के आधार पर जोड़ सकते हैं। दो SQL टेबल को जोड़ने के लिए विभिन्न प्रकार के JOIN उपलब्ध हैं।
यहां हम दो टेबल पर RIGHT JOIN के बारे में चर्चा करेंगे। RIGHT JOIN में, दूसरी टेबल या राइट टेबल के सभी रिकॉर्ड हमेशा परिणाम में शामिल होते हैं। लेफ्ट टेबल से, मिलान करने वाले रिकॉर्ड राइट टेबल के रिकॉर्ड के साथ जुड़े होते हैं। यदि राइट टेबल में किसी पंक्ति के लिए कोई मिलान रिकॉर्ड नहीं मिलता है, तो उस रिकॉर्ड के साथ None जुड़ जाता है।
टेबल किसी शर्त के आधार पर जुड़े होते हैं। लेकिन राइट टेबल के सभी रिकॉर्ड हमेशा परिणाम में शामिल होंगे, शर्त चाहे जो भी हो।
सिंटैक्स
SELECT column1, column2... FROM table_1 RIGHT JOIN table_2 ON condition;
उदाहरण
मान लीजिए दो टेबल Students और Department हैं:
+----------+--------------+-----------+ | id | Student_name | Dept_id | +----------+--------------+-----------+ | 1 | Rahul | 120 | | 2 | Rohit | 121 | | 3 | Kirat | 121 | | 4 | Inder | 123 | +----------+--------------+-----------+
+----------+-----------------+ | Dept_id | Department_name | +----------+-----------------+ | 120 | CSE | | 121 | Mathematics | | 122 | Physics | +----------+-----------------+
हम दोनों टेबल में सामान्य dept_id के आधार पर राइट जॉइन करेंगे।
Python में MySQL का उपयोग करके दो टेबल पर राइट जॉइन करने के चरण
- MySQL कनेक्टर आयात करें
connect()से कनेक्शन स्थापित करेंcursor()से कर्सर ऑब्जेक्ट बनाएं- उपयुक्त MySQL स्टेटमेंट से क्वेरी बनाएं
execute()से SQL क्वेरी निष्पादित करें- कनेक्शन बंद करें
import mysql.connector
db = mysql.connector.connect(
host="your_host",
user="your_username",
password="your_password",
database="database_name"
)
cursor = db.cursor()
query = "SELECT Students.Id, Students.Student_name, Department.Department_name FROM Students RIGHT JOIN Department ON Students.Dept_Id = Department.Dept_Id"
cursor.execute(query)
rows = cursor.fetchall()
for x in rows:
print(x)
db.close()
आउटपुट
(1, 'Rahul', 'CSE') (2, 'Rohit', 'Mathematics') (3, 'Kirat', 'Mathematics') (None, 'Physics')
ध्यान दें, राइट टेबल के सभी रिकॉर्ड परिणाम में शामिल हैं भले ही अंतिम पंक्ति के लिए कोई मिलान रिकॉर्ड न हो।