SQL Set Operations হল তিনটি গুরুত্বপূর্ণ অপারেশন যা দুটি বা তার বেশি SELECT কুয়েরি থেকে ডেটার সেট অপারেশন করতে ব্যবহৃত হয়। এগুলি হল:
- UNION
- INTERSECT
- EXCEPT (বা MINUS)
এই অপারেশনগুলো মূলত এক বা একাধিক কুয়েরি থেকে ডেটার সারি (rows) নিয়ে একটি সেট তৈরি করে, এবং ডুপ্লিকেট এন্ট্রিগুলি মুছে ফেলে। এটি বিভিন্ন কুয়েরি থেকে ডেটার তুলনা এবং সমন্বয় করতে ব্যবহৃত হয়।
1. UNION
UNION অপারেশন দুটি বা তার বেশি SELECT কুয়েরি থেকে ডেটার সারি একত্রিত করে। এটি একত্রিত হওয়া ডেটা থেকে ডুপ্লিকেট রেকর্ড মুছে ফেলে এবং ফলস্বরূপ একক একটি ডেটা সেট তৈরি করে।
সেন্ট্যাক্স:
SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;
UNIONদুটি বা তার বেশিSELECTকুয়েরি থেকে ফলাফল একত্রিত করবে।- ডুপ্লিকেট রেকর্ড মুছে ফেলা হবে (যদিও যদি আপনি ডুপ্লিকেট রাখতে চান, তাহলে
UNION ALLব্যবহার করতে পারেন)। - সমস্ত
SELECTকুয়েরিতে একই সংখ্যা এবং ধরণের কলাম থাকতে হবে।
উদাহরণ:
SELECT Name FROM Employees
UNION
SELECT Name FROM Contractors;
এই কুয়েরি Employees এবং Contractors টেবিল থেকে Name কলাম একত্রিত করবে এবং ডুপ্লিকেট Name বাদ দিয়ে একটি একক ফলাফল প্রদান করবে।
2. INTERSECT
INTERSECT অপারেশন দুটি বা তার বেশি SELECT কুয়েরি থেকে সাধারণ (common) ডেটা রেকর্ড বের করে। এটি কেবলমাত্র তাদের রেকর্ডগুলো রিটার্ন করে যেগুলি দুটি কুয়েরিতে উভয়েই উপস্থিত থাকে। অর্থাৎ, দুটি কুয়েরি থেকে সাধারণ সারিগুলি (intersection) নির্বাচন করা হয়।
সেন্ট্যাক্স:
SELECT column1, column2, ... FROM table1
INTERSECT
SELECT column1, column2, ... FROM table2;
INTERSECTদুটি কুয়েরি থেকে শুধু সেই রেকর্ড গুলি ফেরত দেয়, যা উভয় কুয়েরিতেই বিদ্যমান।- ডুপ্লিকেট রেকর্ড বাদ দেওয়া হবে।
উদাহরণ:
SELECT Name FROM Employees
INTERSECT
SELECT Name FROM Contractors;
এই কুয়েরি Employees এবং Contractors টেবিল থেকে শুধুমাত্র সেই Name রেকর্ডগুলো দেখাবে, যা উভয় টেবিলেই বিদ্যমান।
3. EXCEPT (বা MINUS)
EXCEPT (বা MINUS কিছু ডেটাবেসে) অপারেশন দুটি কুয়েরি থেকে প্রথম কুয়েরির রেকর্ডগুলো প্রদান করে যা দ্বিতীয় কুয়েরির সাথে মেলে না। এটি এক কুয়েরি থেকে ডেটার সারি ফেরত দেয়, যেগুলি দ্বিতীয় কুয়েরিতে নেই।
সেন্ট্যাক্স:
SELECT column1, column2, ... FROM table1
EXCEPT
SELECT column1, column2, ... FROM table2;
EXCEPTপ্রথম কুয়েরি থেকে সেই সমস্ত রেকর্ড নির্বাচন করে যা দ্বিতীয় কুয়েরিতে নেই।- ডুপ্লিকেট রেকর্ড বাদ দেওয়া হবে।
উদাহরণ:
SELECT Name FROM Employees
EXCEPT
SELECT Name FROM Contractors;
এই কুয়েরি Employees টেবিল থেকে এমন Name রেকর্ডগুলো ফিরিয়ে দেবে, যা Contractors টেবিলের মধ্যে নেই।
Set Operations এর মধ্যে পার্থক্য
| Set Operation | Description | Duplicates | Result |
|---|---|---|---|
| UNION | সমস্ত ইউনিক রেকর্ড একত্রিত করা | ডুপ্লিকেট মুছে ফেলে | সমস্ত ইউনিক রেকর্ড একত্রিত |
| INTERSECT | সাধারণ রেকর্ড একত্রিত করা | ডুপ্লিকেট মুছে ফেলে | উভয় কুয়েরির মধ্যে সাধারণ রেকর্ড |
| EXCEPT | প্রথম কুয়েরির রেকর্ড যা দ্বিতীয় কুয়েরিতে নেই | ডুপ্লিকেট মুছে ফেলে | প্রথম কুয়েরি থেকে দ্বিতীয় কুয়েরিতে অনুপস্থিত রেকর্ড |
সারাংশ
Set Operations SQL-এ খুবই শক্তিশালী টুল যা বিভিন্ন SELECT কুয়েরি থেকে ডেটা সংগ্রহ ও তুলনা করতে ব্যবহৃত হয়। UNION একত্রিত করে ইউনিক রেকর্ড, INTERSECT সাধারণ রেকর্ড বের করে এবং EXCEPT প্রথম কুয়েরির রেকর্ড, যা দ্বিতীয় কুয়েরিতে নেই, সেগুলি নির্বাচন করে। এই অপারেশনগুলো বড় ডেটাসেট বিশ্লেষণ এবং একত্রিত করার জন্য অত্যন্ত কার্যকরী।
Read more