MySQL UNION অপারেটর দুটি বা ততোধিক ফলাফল সেট একত্রিত করতে পারে, তাই আমরা UNION অপারেটর ব্যবহার করে একাধিক টেবিল থেকে ডেটা নিয়ে একটি ভিউ তৈরি করতে পারি। এই ধারণা বোঝার জন্য আমরা 'Student_info' এবং 'Student_detail' নামক বেস টেবিল দুটি ব্যবহার করছি যাতে নিম্নলিখিত ডেটা থাকে:
mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 125 | Raman | Shimla | Computers | | 130 | Ram | Jhansi | Computers | | 132 | Shyam | Chandigarh | Economics | | 133 | Mohan | Delhi | Computers | +------+---------+------------+------------+ 6 rows in set (0.00 sec) mysql> Select * from Student_detail; +-----------+-------------+------------+ | Studentid | StudentName | address | +-----------+-------------+------------+ | 100 | Gaurav | Delhi | | 101 | Raman | Shimla | | 103 | Rahul | Jaipur | | 104 | Ram | Chandigarh | | 105 | Mohan | Chandigarh | +-----------+-------------+------------+ 5 rows in set (0.00 sec)
উদাহরণ
নিচের কোয়েরি উপরের উভয় টেবিল থেকে ডেটা ব্যবহার করে একটি ভিউ তৈরি করবে:
mysql> Create or Replace View Info AS Select StudentName from Student_detail UNION Select Name From Student_info; Query OK, 0 rows affected (0.10 sec) mysql> select * from info; +-------------+ | StudentName | +-------------+ | Gaurav | | Raman | | Rahul | | Ram | | Mohan | | YashPal | | Shyam | +-------------+ 7 rows in set (0.00 sec)
উপরোক্ত ফলাফল সেটে উভয় কলামের মানগুলোর সমন্বয় রয়েছে। যদি কোনো মান повтор হয়, তবে এটি ডুপ্লিকেট মানগুলো বাদ দেয়।
আমরা UNION ALL ব্যবহার করে সকল মান, ডুপ্লিকেট সহ সংরক্ষণ করতে পারি নিম্নলিখিত কোয়েরিতে:
mysql> Create or Replace View Info AS Select student name from Student_detail UNION ALL Select Name From Student_info; Query OK, 0 rows affected (0.16 sec) mysql> select * from info; +-------------+ | StudentName | +-------------+ | Gaurav | | Raman | | Rahul | | Ram | | Mohan | | YashPal | | Gaurav | | Raman | | Ram | | Shyam | | Mohan | +-------------+ 11 rows in set (0.00 sec)