हम SQL में दो टेबल को उनके बीच एक सामान्य कॉलम के आधार पर या किसी निर्दिष्ट शर्त के आधार पर जोड़ सकते हैं। दो SQL टेबल को जोड़ने के लिए विभिन्न प्रकार के JOIN उपलब्ध हैं।
यहां हम दो टेबल पर LEFT JOIN के बारे में चर्चा करेंगे। LEFT JOIN में, पहली टेबल या लेफ्ट टेबल के सभी रिकॉर्ड हमेशा परिणाम में शामिल होते हैं। राइट टेबल से, मिलान करने वाले रिकॉर्ड लेफ्ट टेबल के रिकॉर्ड के साथ जुड़े होते हैं। यदि लेफ्ट टेबल में किसी पंक्ति के लिए कोई मिलान रिकॉर्ड नहीं मिलता है, तो उस रिकॉर्ड के साथ None जुड़ जाता है।
टेबल किसी शर्त के आधार पर जुड़े होते हैं। लेकिन लेफ्ट टेबल के सभी रिकॉर्ड हमेशा परिणाम में शामिल होंगे, शर्त चाहे जो भी हो।
सिंटैक्स
SELECT column1, column2... FROM table_1 LEFT JOIN table_2 ON condition;
उदाहरण
मान लीजिए दो टेबल Students और Department हैं:
+----------+--------------+-----------+ | id | Student_name | Dept_id | +----------+--------------+-----------+ | 1 | Rahul | 120 | | 2 | Rohit | 121 | | 3 | Kirat | 125 | | 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 LEFT 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', None) (4, 'Inder', None)
ध्यान दें, लेफ्ट टेबल के सभी रिकॉर्ड परिणाम में शामिल हैं भले ही अंतिम 2 पंक्तियों के लिए कोई मिलान रिकॉर्ड न हो।