কম্পিউটার টিউটোরিয়াল

Python দিয়ে MySQL-এ FULL JOIN করা

FULL JOIN-এ দুটি টেবিলের সকল রেকর্ড রেজাল্টে থাকে। যেসব রেকর্ডের মিল না পাওয়া যায়, তাদের পাশে NULL থাকে।

সিনট্যাক্স

SELECT column1, column2... FROM table_1 FULL JOIN table_2 ON condition;

ধরুন দুটি টেবিল: Students ও Department

Students:
+----------+--------------+-----------+
| id       | Student_name | Dept_id   |
+----------+--------------+-----------+
| 1        | Rahul        | 120       |
| 2        | Rohit        | 121       |
| 3        | Kirat        | 121       |
| 4        | Inder        | 123       |
+----------+--------------+-----------+

Department:
+----------+-----------------+
| Dept_id  | Department_name |
+----------+-----------------+
| 120      | CSE             |
| 121      | Mathematics     |
| 122      | Physics         |
+----------+-----------------+

আমরা dept_id ভিত্তিক ফুল জয়েন করব।

Python-এ MySQL ব্যবহার করে FULL JOIN-এর ধাপসমূহ

  1. MySQL কনেক্টর ইম্পোর্ট করুন
  2. connect() ব্যবহার করে কনেকশন স্থাপন করুন
  3. cursor() মেথড দিয়ে কার্সার অবজেক্ট তৈরি করুন
  4. উপযুক্ত MySQL স্টেটমেন্ট ব্যবহার করে কোয়েরি তৈরি করুন
  5. execute() মেথড দিয়ে SQL কোয়েরি এক্সিকিউট করুন
  6. কনেকশন বন্ধ করুন

উদাহরণ

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 FULL 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')
(4, 'Inder', None)
(None, 'Physics')

লক্ষ্য করুন, দুটি টেবিলের সব রেকর্ড রেজাল্টে আছে, মিল না পাওয়া রেকর্ডের পাশে NULL দেখাচ্ছে।

  1. পাইথনে টেনসরফ্লো ব্যবহার করে দুটি ম্যাট্রিক্স গুণ করার পদ্ধতি

  2. পাইথনে টেনসরফ্লো ব্যবহার করে দুটি ম্যাট্রিক্স যোগ করার পদ্ধতি

  3. পাইথনে দুটি ডিকশনারি মার্জ (Merge) করা

  4. Python-এ দুটি ভেরিয়েবল স্ব্যাপ (Swap) করা