কম্পিউটার

আমরা কিভাবে ডেটাসেটে MySQL UNION অপারেটর ব্যবহার করতে পারি?


মূলত, MySQL UNION অপারেটরটি 2 বা তার বেশি SELECT স্টেটমেন্টের ফলাফল সেটগুলিকে একত্রিত করতে ব্যবহৃত হয়। এটি বিভিন্ন 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, … expression_n কলামগুলি যা আমরা পুনরুদ্ধার করতে চাই৷

টেবিল, যেখান থেকে আমরা রেকর্ড পুনরুদ্ধার করতে চাই তা হল টেবিল।

যেখানে শর্ত, এটা ঐচ্ছিক যে রেকর্ড নির্বাচন করার জন্য অবশ্যই পূরণ করতে হবে।

স্বতন্ত্র, এটি ঐচ্ছিক যে ফলাফল সেট থেকে সদৃশগুলিকে সরিয়ে দেয়, তবে DISTINCT সংশোধক অন্তর্ভুক্তির ফলে UNION অপারেটরের ফলাফল সেটের উপর কোন প্রভাব নেই কারণ ডিফল্টরূপে UNION অপারেটর ইতিমধ্যেই সদৃশগুলি সরিয়ে দেয়৷

উদাহরণ

এই উদাহরণে, আমরা ছাত্র_বিশদ এবং ছাত্র_তথ্য নামক দুটি টেবিলে নিম্নলিখিত ডেটা রয়েছে −

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      |
+-----------+---------+------------+------------+
7 rows in set (0.00 sec)

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 |
+-----------+-----------+------------+-------------+
6 rows in set (0.00 sec)

এখন, UNION অপারেটর ব্যবহার করে নিম্নলিখিত ক্যোয়ারীটি উভয় টেবিলের সমস্ত 'স্টুডেন্টড' মান প্রদান করে।

mysql> Select Studentid FROM student_detail UNION SELECT Studentid FROM student_info;
+-----------+
| Studentid |
+-----------+
|    101    |
|    105    |
|    130    |
|    132    |
|    133    |
|    150    |
|    160    |
|    165    |
+-----------+
8 rows in set (0.00 sec)

  1. মাইএসকিউএল সিলেক্ট কোয়েরিতে উপনাম কীভাবে ব্যবহার করবেন?

  2. মাইএসকিউএল আপডেট করার সময় একটি নির্বাচন বিবৃতি কিভাবে ব্যবহার করবেন?

  3. আমরা কি MySQL SELECT স্টেটমেন্টের মধ্যে একটি কমা ব্যবহার করতে পারি?

  4. মাইএসকিউএল-এ সিলেক্ট করা থাকলে কীভাবে ব্যবহার করবেন?