SQL এর সেট অপারেশন (ইউনিয়ন, ইন্টারসেক্ট এবং এক্সসেপ্ট)-এর ব্যবহারের বর্ণনা | অধ্যায়-৫ | ডাটাবেস ম্যানেজমেন্ট সিস্টেম

আজকে আমাদের আলোচনার বিষয় – SQL এর সেট অপারেশন (ইউনিয়ন, ইন্টারসেক্ট এবং এক্সসেপ্ট)-এর ব্যবহারের বর্ণনা যা অধ্যায়-৫ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।

SQL এর সেট অপারেশন (ইউনিয়ন, ইন্টারসেক্ট এবং এক্সসেপ্ট)-এর ব্যবহারের বর্ণনা

 

ডাটাবেস ম্যানেজমেন্ট সিস্টেম

 

SQL-এর সেট অপারেশন (ইউনিয়ন, ইন্টারসেক্ট এবং এক্সসেপ্ট)-এর ব্যবহারের বর্ণনা

সেট অপারেশনঃ

যখন দুই বা ততোধিক Select স্টেটমেন্ট হতে একত্রিতভাবে রেজাল্ট উপস্থাপন করার প্রয়োজন হয়, সেক্ষেত্রে SQL সেট অপারেশন ব্যবহারের মাধ্যমে তা কার্যকর করে। SQL দিয়ে ডাটাবেসের উপর যে সেট অপারেশন চালানো সম্ভব, তা হচ্ছে-

  • UNION ALL যাকে ‘U’ দ্বারা চিহ্নিত করা হয়।
  • UNION যাকে ‘U’ দ্বারা চিহ্নিত করা হয়।
  • INTERSECT যাকে ‘গ’ দ্বারা চিহ্নিত করা হয়।
  • EXCEPT/MINUS যাকে দ্বারা চিহ্নিত করা হয়।

 

UNION ALL
একটি রেজাল্ট সেটের ভেতর দু’টি SELECT স্টেটমেন্টের সমন্বিত উপস্থাপনই এর কাজ।
UNION
একটি রেজাল্ট সেটের ভেতর দু’টি SELECT স্টেটমেন্টের সমন্বিত উপস্থাপন এবং তারপর রেজাল্ট সেট থেকে যে কোন ডুপ্লিকেট রেকর্ডকে সরিয়ে ফেলবে।
INTERSECT উভয় কুয়েরি থেকে প্রাপ্ত কেবলমাত্র ডুপ্লিকেট রেকর্ডসমূহ বিবেচনা করবে।
MINUS
প্রথম কুয়েরি থেকে ২য় কুয়েরির ফলাফলকে বাদ দিয়ে বাকি অবশিষ্ট রেকর্ডগুলো বিবেচনা করবে।

নিম্নোক্ত চিত্র থেকে UNION ALL, UNION, INTERSECT এবং MINUS ক্লোজ সর্ম্পকে ধারণা নেয়া যাক-

 

SQL এর সেট অপারেশন (ইউনিয়ন, ইন্টারসেক্ট এবং এক্সসেপ্ট)-এর ব্যবহারের বর্ণনা

 

UNION ALL ক্লোজ

উদাহরণঃ নিম্নে আমরা emp টেবিলের 10 নং ডিপার্টমেন্ট এবং 30 নং ডিপার্টমেন্টে যে সকল Job আছে, তা ব্যবহার করি। এখন দু’টি ডিপার্টমেন্ট নং এর ডাটাগুলো দেখিঃ

SQL> Select job From emp

2 Where deptno=18;

JOB
MANAGER
PRESIDENT
CLERK

এবং

SQL> Select job From emp

2 Where deptno = 30;

JOB
SALESMAN
SALESMAN
SALESMAN
MANACER
SALESMAN
CLERK

6 rows selected.

উপরোক্ত ডিপার্টমেন্ট নং দু’টির Job-সমূহ থেকে ডুপ্লিকেটসহ সকল Job নির্বাচন করার জন্য Union all ক্লজের ব্যবহারের কমান্ড প্রয়োগ করে ফলাফল লক্ষ করি:

SQL> Select job From emp

2 Where deptno = 10;

3 UNION ALL

4 Select job from emp

5 where deptno = 30

JOB
MANAGER
PRESIDENT
CLERK
SALESMAN
SALESMAN
SALESMAN
MANAGER
SALESMAN
CLERK

9 rows selected.

UNION ক্লোজ

ডিপার্টমেন্ট নং দু’টির Job-সমূহ থেকে ডুপ্লিকেট ব্যতীত সকল Job নির্বাচন করার জন্য Union ক্লজের ব্যবহারের কমান্ড প্রয়োগ করে ফলাফল লক্ষ করি:

SQL> Select job From emp

2 Where deptno = 10;

3 UNION

4 Select job from emp

5 where deptno = 30;

JOB
CLERK
MANAGER
PRESIDENT
SALESMAN

INTERSECT ক্লজ

ডিপার্টমেন্ট নং দু’টির Job-সমূহ থেকে শুধুমাত্র ডুপ্লিকেট অর্থাৎ শুধুমাত্র কমন ডকুমেন্টগুলো Job নির্বাচন করার Intersect ক্লোজের ব্যবহারের কমান্ড প্রয়োগ করে ফলাফল লক্ষ করিঃ

SQL> Select job From emp

2 Where deptno = 10;

3 INTERSECT

4 Select job from emp

5 where deptno = 30;

JOB
CLERK
MANAGER

EXCEPT/MINUS ক্লজ

ডিপার্টমেন্ট নং দু’টির Job-সমূহ থেকে প্রথম সেট থেকে ২য় সেটের ফলাফলকে বাদ দিয়ে বাকি অবশিষ্ট Job-গুলো নির্বাচন করার জন্য except/ Minus ক্লোজের ব্যবহারের কমান্ড প্রয়োগ করে ফলাফল লক্ষ করিঃ

SQL> Select job From emp

2 Where deptno = 10;

3 MINUS

4 Select job from emp

5 where deptno = 30;

 

ডাটাবেস সিস্টেমের মূলনীতির সূচনা

 

JOB
PRESIDENT

আবার ২য় সেট থেকে প্রথম সেট এর ফলাফলকে বাদ দিয়ে বাকি অবশিষ্ট Job-গুলো নির্বাচন করার জন্যও except / Minus ক্লজের ব্যবহারের কমান্ড প্রয়োগ করে ফলাফল লক্ষ করিঃ
SQL> Select job From emp

2 Where deptno = 30;

3 MINUS

4 Select-job from emp

5 where deptno = 10;

JOB
SALESMAN

আরও দেখুনঃ

Leave a Comment