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