UNION অপারেটরটি 2 বা তার বেশি SELECT স্টেটমেন্ট থেকে 2টি ফলাফল সেট একত্রিত করতে ব্যবহৃত হয়৷ এটি এই SELECT স্টেটমেন্টে একই সারি মুছে দেবে।
ইউনিয়ন অপারেটরের প্রতিটি সিলেক্টের ফলাফলে একই সংখ্যক কলাম থাকতে হবে সংশ্লিষ্ট ডেটা টাইপের সাথে সেট করা।
ইউনিয়ন অপারেটর সিনট্যাক্স
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien]
UNION
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE
dieu_kien];
ভেরিয়েবল নাম বা পরিবর্তনশীল মান
bieu_thuc1, bieu_thuc2, . bieu_thucn
আপনি যে কলাম বা গণনার মান পুনরুদ্ধার করতে চান।
state
টেবিল রেকর্ড পেতে চায়৷ FROM ক্লজে কমপক্ষে 1টি টেবিল থাকতে হবে।
WHERE dieu_kien
বিকল্প৷ নির্বাচিত রেকর্ডের জন্য শর্ত অবশ্যই পূরণ করতে হবে।
দ্রষ্টব্য:
- 2 টি সিলেক্ট স্টেটমেন্টে অবশ্যই একই সংখ্যক এক্সপ্রেশন থাকতে হবে
- প্রতিটি SELECT স্টেটমেন্টের কলামের অনুরূপ সংখ্যার একই ডেটা টাইপ থাকতে হবে
- ইউনিয়ন অপারেটর ডুপ্লিকেট সারি সাফ করে।
আরও UNION ALL অপারেটর দেখুন।
উদাহরণস্বরূপ - একটি তথ্য ক্ষেত্র ফেরত দিন
উদাহরণস্বরূপ, UNION অপারেটর একাধিক SELECT স্টেটমেন্ট (এবং একই ডেটা টাইপ সহ ক্ষেত্র) থেকে একটি ক্ষেত্র ফেরত দেয়।
SELECT sanpham_id
FROM sanpham
UNION
SELECT sanpham_id
FROM hangtonkho;
উপরের উদাহরণে, সানফাম এবং হ্যাংটনখো উভয় টেবিলে যদি কোনো sanpham_id দেখা যায়, ফলাফল সেটে শুধুমাত্র 1 sanpham_id দেখাবে। আপনি যদি ডুপ্লিকেট রেকর্ডটি সরাতে না চান, তাহলে UNION ALL অপারেটর ব্যবহার করুন৷
উদাহরণস্বরূপ - ORDER BY ব্যবহার করুন
ইউনিয়ন অপারেটর ক্যোয়ারী ফলাফল সাজানোর জন্য ORDER BY ধারা ব্যবহার করতে পারে৷
SELECT danhba_id, danhba_ten
FROM danhba
WHERE ten_trang = 'QuanTriMang.com'
UNION
SELECT congty_id, congty_ten
FROM congty
WHERE ten_trang = 'TrangCuaBan.com'
ORDER B
Y 2;
এই উদাহরণে, যেহেতু দুটি SELECT স্টেটমেন্টে কলামের নাম আলাদা, তাই ফলাফল সেটে অবস্থান অনুসারে ORDER BY বিবৃতিতে কলামটি উল্লেখ করা সহজ। উপরের উদাহরণে, আমরা ফলাফলগুলিকে namba_ten / congty_ten দ্বারা আরোহী ক্রমে ফিল্টার করি, যেমনটি ORDER BY 2 বাক্যাংশ দ্বারা বলা হয়েছে৷
danhba_ten / congty_ten ফলাফল সেটে দ্বিতীয় অবস্থানে রয়েছে৷