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

MySQL UNION অপারেটর ব্যবহার করে ডেটাসেট সংমিশ্রণ

MySQL UNION অপারেটর দুটি বা ততোধিক SELECT স্টেটমেন্টের ফলাফল সেট সংমিশ্রণ করতে ব্যবহৃত হয়। এটি ডুপ্লিকেট সারি সরিয়ে দেয়। UNION-এর প্রতিটি SELECT স্টেটমেন্টে একই সংখ্যক ফিল্ড এবং সাদৃশ্য ডেটা টাইপ থাকতে হয়।

সিনট্যাক্স

SELECT expression1, expression2, ... expression_n
FROM table [WHERE conditions]
UNION [DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM table [WHERE conditions]

প্যারামিটার:

  • expression1, expression2, ... — রিট্রিভ করার কলামগুলো।
  • table — রিকভার করার টেবিলগুলো।
  • WHERE condition — অপশনাল, রেকর্ড সিলেকশনের শর্ত।
  • DISTINCT — অপশনাল, ডুপ্লিকেট সরাতে ব্যবহৃত হয়। UNION ডিফল্টরূপে ডুপ্লিকেট সরিয়ে দেয়, তাই DISTINCT-এর কোনো অতিরিক্ত প্রভাব নেই।

উদাহরণ

দুই টেবিল: Student_detail এবং Student_info

mysql> SELECT * FROM Student_detail;
+-----------+---------+------------+------------+
| studentid | Name    | Address    | Subject    |
+-----------+---------+------------+------------+
|       101 | YashPal | Amritsar   | History    |
|       105 | Gaurav  | Chandigarh | Literature |
|       130 | Ram     | Jhansi     | Computers  |
|       132 | Shyam   | Chandigarh | Economics  |
|       133 | Mohan   | Delhi      | Computers  |
|       150 | Rajesh  | Jaipur     | Yoga       |
|       160 | Pradeep | Kochi      | Hindi      |
+-----------+---------+------------+------------+

mysql> SELECT * FROM Student_info;
+-----------+-----------+------------+-------------+
| studentid | Name      | Address    | Subject     |
+-----------+-----------+------------+-------------+
|       101 | YashPal   | Amritsar   | History     |
|       105 | Gaurav    | Chandigarh | Literature  |
|       130 | Ram       | Jhansi     | Computers   |
|       132 | Shyam     | Chandigarh | Economics   |
|       133 | Mohan     | Delhi      | Computers   |
|       165 | Abhimanyu | Calcutta   | Electronics |
+-----------+-----------+------------+-------------+

UNION দিয়ে দুটি টেবিলের studentid সংমিশ্রণ:

mysql> SELECT Studentid FROM student_detail
    -> UNION SELECT Studentid FROM student_info;
+-----------+
| Studentid |
+-----------+
|       101 |
|       105 |
|       130 |
|       132 |
|       133 |
|       150 |
|       160 |
|       165 |
+-----------+

ফলাফলে ডুপ্লিকেট studentid মানগুলো (১০১, ১০৫, ১৩০, ১৩২, ১৩৩) শুধু একবার এসে আছে।

  1. MySQL SELECT কোয়ারিতে এলিয়াস (alias) ব্যবহার করার পদ্ধতি

  2. MySQL-এ UPDATE-এ সাবকুয়েরি (SELECT) ব্যবহার করা

  3. MySQL-এ SELECT স্টেটমেন্টের মাঝপথে কমা (,) ব্যবহার করা (CROSS JOIN)

  4. MySQL-এ SELECT-এ IF() ফাংশন ব্যবহার করে শর্তভিত্তি আউটপুট দেওয়া