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