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

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

UNION অপারেটর ২ বা অধিক SELECT স্টেটমেন্টের রেজাল্ট সেট কম্বাইন করতে ব্যবহৃত হয়। এটি এই SELECT স্টেটমেন্টগুলোর ডুপ্লিকেট সারি মুছে ফেলে।

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

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

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

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

bang

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

WHERE dieu_kien

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

নোট:

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

  4. UNION ALL অপারেটরও দেখুন।

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

উদাহরণস্বরূপ, UNION অপারেটর একাধিক SELECT স্টেটমেন্ট থেকে একটি ফিল্ড রিটার্ন করে (এবং একই ডেটা টাইপ वाले ফিল্ড)।

SELECT sanpham_id
FROM sanpham
UNION
SELECT sanpham_id
FROM hangtonkho;

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

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

UNION অপারেটর 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 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 কী?