LEFT JOIN-এ বাম পাশের (প্রথম) টেবিলের সকল রেকর্ড রেজাল্টে থাকে। ডান পাশের টেবিল থেকে শুধু মিলে যাওয়া রেকর্ডগুলো জয়েন হয়। মিল না পাওয়া রেকর্ডের পাশে None থাকে।
সিনট্যাক্স
SELECT column1, column2... FROM table_1 LEFT JOIN table_2 ON condition;
ধরুন Students ও Department টেবিল (Students-এ Dept_id 125 আছে যা Department-এ নেই):
Students:
+----------+--------------+-----------+
| id | Student_name | Dept_id |
+----------+--------------+-----------+
| 1 | Rahul | 120 |
| 2 | Rohit | 121 |
| 3 | Kirat | 125 |
| 4 | Inder | 123 |
+----------+--------------+-----------+
Department:
+----------+-----------------+
| Dept_id | Department_name |
+----------+-----------------+
| 120 | CSE |
| 121 | Mathematics |
| 122 | Physics |
+----------+-----------------+
Python-এ MySQL ব্যবহার করে LEFT JOIN-এর ধাপসমূহ
- 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)
লক্ষ্য করুন, বাম টেবিল (Students) এর সব রেকর্ড রেজাল্টে আছে, শেষ দুটি রোয়ের জন্য Department-এ মিল না পাওয়ায় None দেখাচ্ছে।