UNION স্টেটমেন্ট دوটি SELECT কোয়েরির ফলাফল ডুপ্লিকেট মান ছাড়া কম্বাইন করতে ব্যবহৃত হয়। যদি দুটি SELECT কোয়েরি একই সারি রিটার্ন করে, তবে সেটি শুধু একবার লিস্ট হবে।
দুটি SELECT স্টেটমেন্টের UNION করার জন্য,
রিটার্ন হওয়া কলামের সংখ্যা একই হতে হবে
কলামের ডেটা টাইপ একই হতে হবে
দুই SELECT স্টেটমেন্টের কলামগুলো একই ক্রমে রিটার্ন হতে হবে।
সিনট্যাক্স
SELECT column_name FROM table1 UNION SELECT column_name FROM table2
পাইথনে MySQL ব্যবহার করে দুটি SELECT কোয়েরির UNION করার ধাপ
MySQL কনেক্টর ইম্পোর্ট করুন
MySQL কনেক্টর ইম্পোর্ট করুন
connect() ব্যবহার করে কনেক্টর সাথে সংযোগ স্থাপন করুন
cursor() মেথড ব্যবহার করে কার্সর অবজেক্ট তৈরি করুন
উপযুক্ত MySQL স্টেটমেন্ট ব্যবহার করে কোয়েরি তৈরি করুন
execute() মেথড ব্যবহার করে SQL কোয়েরি এক্সিকিউট করুন
সংযোগ বন্ধ করুন
ধরুন দুটি টেবিল রয়েছে, "Students" এবং "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 | +----------+-----------------+
আমরা দুটি টেবিল থেকে Dept_id সিলেক্ট করব এবং ফলাফলগুলোর UNION করব। এতে দুটি টেবিলে থাকা সব দISTINCT dept_id রিটার্ন হবে।
উদাহরণ
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="your password",database="database_name") cursor=db.cursor() query="SELECT Dept_id FROM Students UNION SELECT Dept_id FROM Department" cursor.execute(query) rows=cursor.fetchall() for row in rows: print(row) db.close()
আউটপুট
120 121 125 123 122