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

SQL Server-এ UNION ALL অপারেটর

SQL Server-এ UNION ALL অপারেটর ২ বা অধিক SELECT স্টেটমেন্টের রেজাল্ট সেট কম্বাইন করতে ব্যবহৃত হয়।

UNION অপারেটরrennt UNION ALL অপারেটর কোয়েরির সকল সারি রিটার্ন করে এবং ডুপ্লিকেট সারি মুছে ফেলে না।

UNION অপারেটরের প্রতিটি SELECT-এ রেজাল্ট সেটে একই সংখ্যক কলাম থাকতে হবে সংশ্লিষ্ট ডেটা টাইপসহ।

UNION ALL অপারেটর সিনট্যাক্স

SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien]
UNION ALL
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien];

ভেরিয়েবল নাম বা মান

bieu_thuc1, bieu_thuc2, ... bieu_thucn

রিট্রিভ করতে চাওয়া কলাম বা ক্যালকুলেটেড ভ্যালু।

bang

রেকর্ড পেতে চাওয়া টেবিল। FROM ক্লজে কমপক্ষে ১ টি টেবিল থাকতে হবে।

WHERE dieu_kien

ঐচ্ছিক। রেকর্ড সিলেক্ট করার শর্ত।

নোট:

  1. ২টি SELECT স্টেটমেন্টে একই সংখ্যক এক্সপ্রেশন থাকতে হবে
  2. প্রতিটি SELECT স্টেটমেন্টের সংশ্লিষ্ট কলাম একই ডেটা টাইপের হতে হবে
  3. UNION ALL অপারেটর ডুপ্লিকেট সারি মুছে ফেলে না।
  4. UNION অপারেটরও দেখুন

উদাহরণ - একটি ইনফরমেশন ফিল্ড রিটার্ন

SELECT sanpham_id
FROM sanpham
UNION ALL
SELECT sanpham_id
FROM hangtonkho;

এই উদাহরণে, যদি sanpham_id sanpham এবং hangtonkho দুটি টেবিলে থাকে, তবে রেজাল্ট সেটে একাধিক sanpham_id থাকবে। ডুপ্লিকেট মুছে ফেলতে চাইলে UNION অপারেটর ব্যবহার করুন।

উদাহরণ - ORDER BY ব্যবহার

UNION ALL অপারেটর 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 স্টেটমেন্টে কলাম রেফার করা রেজাল্ট সেটে পজিশন দিয়ে সহজ। উপরের উদাহরণে, আমরা danhba_ten / congty_ten আরোহী ক্রমে ফিল্টার করেছি ORDER BY 2 দিয়ে।

danhba_ten / congty_ten রেজাল্ট সেটে ২য় পজিশনে আছে।

  1. SQL Server-এ INTERSECT অপারেটর

  2. SQL Server-এ SELECT কমান্ড

  3. MS SQL Server-এ ডেটাবেস নির্বাচন

  4. MS SQL Server কী?