SQL এর অ্যাগ্রিগেট ফাংশনের ব্যবহারের বর্ণনা | অধ্যায়-৫ | ডাটাবেস ম্যানেজমেন্ট সিস্টেম

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

SQL এর অ্যাগ্রিগেট ফাংশনের ব্যবহারের বর্ণনা

 

SQL এর অ্যাগ্রিগেট ফাংশনের ব্যবহারের বর্ণনা

 

SQL এর অ্যাগ্রিগেট ফাংশনের ব্যবহারের বর্ণনা

অ্যাগ্রিগেট ফাংশন: অ্যাগ্রিগেট ফাংশন বা গ্রুপ ফাংশন একাধিক রো’-এর বা একাধিক মানের উপর কার্যকরী হয় এবং ফলাফলকে সমন্বিত আকারে বা সিঙ্গেল আকারে প্রকাশ করে। অর্থাৎ এ ফাংশনগুলো এক জাতীয় ডাটা সেটের উপর কাজ করে উদাহরণ হিসেবে SUM, AVG দু’টি গ্রুপ ফাংশনকে উল্লেখ করা যায়। এখানে SUM ফাংশনটি একাধিক ‘রো’-এর ভ্যালু যোগফল প্রকাশ করে। আরার AVG একাধিক রো’-এর ভ্যালুর গড় তৈরি করে।

গ্রুপ ফাংশন সাধারণত DISTINCT এবং ALL অপশন দু’টিকে বিবেচনা করে।

অ্যাগ্রিগেট ফাংশন বা গ্রুপ ফাংশনগুলো হচ্ছে-

ক. Sum ফাংশন

খ. Avg ফাংশন

গ. Max ফাংশন

ঘ. Min ফাংশন

ঙ. Count ফাংশন

 

ফাংশন কার্যক্রম
SUM বিভিন্ন রাশির যোগফল নির্ণয় করে।
AVG রাশিগুলো গড় নির্ণয় করে।
MAX রাশিমালার মধ্যে বৃহত্তম রাশি নির্ণয় করে।
MIN রাশিমালার মধ্যে ক্ষুদ্রতম রাশি নির্ণয় করে।
COUNT রাশিমালার সংখ্যা গনণা করে।

 

ক. SUM ফাংশনঃ এ ফাংশন এর সাহায্যে বিভিন্ন রাশির যোগফল নির্ণয় করা যায়।

Syntax:

SUM([DISTINCT!ALL]n)

উদাহরণ-১: ধরি, emp টেবিল থেকে প্রত্যেক ডিপার্টমেন্টের বেতনের যোগফল বের করতে হবে এবং সাথে Dept. টেবিল থেকে সংশ্লিষ্ট ডিপার্টমেন্টের নাম নির্বাচন করতে হবে। এজন্য নিম্নরূপ কমান্ড প্রয়োগ করে ফলাফল লক্ষ করিঃ

Select dname Department, SUM (sal) “Dept. wise salary”

From emp, dept

Where emp. deptno = dept.deptno

Group by dname;

ফলাফল:

DEPARIMENT
DEPT. WISE SALARY
ACCOUNTING 8750
RESEARCH 11875
SALES 9400

 

উদাহরণ-২ঃ ধরি, emp টেবিলের সকল কর্মচারী/কর্মকর্তাদের Salary-এর যোগফল দেখাতে হবে। এজন্য নিম্নরূপ কমান্ড প্রয়োগ করে ফলাফল লক্ষ করি :

SQL> Select SUN (Sal) From emp;

SUM (SAL)

30025

খ. AVG ফাংশনঃ এ ফাংশন এর সাহায্যে বিভিন্ন রাশিগুলো গড় নির্ণয় করে।

Syntax:

AVG([DISTINCT/ALL]n)

উদাহরণঃ ধরি, emp টেবিলে ডিপার্টমেন্ট নম্বর অনুসারে প্রত্যেক ডিপার্টমেন্টের sal কলামের গড় নির্ণয় করার জন্য নিম্নরূপ কমান্ড প্রয়োগ করে ফলাফল লক্ষ করিঃ

SQL> Select deptno, AVG (Sal) “Average”

2 From emp

3 Group by deptno

DEPTNO Average
10 2916.66667
20 2375
30 1566.66667

 

গ. MAX ফাংশন : এ ফাংশনটি এক্সপ্রেশনে উল্লেখিত সর্বোচ্চ সংখ্যাটি প্রকাশ করে। এক্সপ্রেশনে একই জাতীয় ডাটা হতে হবে এবং তাদেরকে কমা (,) দিয়ে পৃথক রাখতে হবে। এ ডাটা নিউমেরিক বা date টাইপ হলে সর্বশেষ date টি প্রকাশ করে। ডাটা ক্যারেক্টার এক্সপ্রেশন হলে এদের মধ্যে সর্বোচ্চ ASCII কোড বিশিষ্ট ডাটাকে প্রকাশ করে।

Syntax:

MAX([DISTINCT/ALL]n)

OR

MAX(expression)

 

SQL এর অ্যাগ্রিগেট ফাংশনের ব্যবহারের বর্ণনা

 

উদাহরণঃ ধরি, emp টেবিলে প্রত্যেক ডিপার্টমেন্টে যে সকল কর্মচারীগণ বেশি salary পায়, তাদের নাম, ডিপার্টমেন্ট নম্বর এবং salary নির্বাচন করতে হবে। এজন্য নিম্নরূপ কমান্ড প্রয়োগ করে ফলাফল লক্ষ করিঃ

SQL> Select ename, deptno, sal from emp

2 Where (Sal, deptno) IN

3 (Select max (sal), deptno

4 from emp

5 group by deptno

ফলাফল:

ENAME DEPTNO SAL
BLAKE 30 2850
JONES 20 3975
KING 10 5000

 

ঘ. MIN ফাংশনঃ এ ফাংশনটি এক্সপ্রেশনে উল্লেখিত ক্ষুদ্রতম সংখ্যাটি প্রকাশ করে।

এক্সপ্রেশনে একই জাতীয় ডাটা হতে হবে এবং তাদেরকে কমা (,) দিয়ে পৃথক রাখতে হবে। এ ডাটা নিউমারিক বা date টাইপ হলে সবচেয়ে আগের date টি প্রকাশ করে। ডাটা ক্যারেক্টার টাইপ হলে এদের মধ্যে সর্বনিম্ন ASCII কোড বিশিষ্ট ডাটাকে প্রকাশ করে।

Syntax:

MIN([DISTINCT/ALL]n)

OR

MIN(expression)

উদাহরণ: ধরি, emp টেবিলে প্রত্যেক ডিপার্টমেন্টে যে সকল কর্মচারীগণ সর্বনিম্ন salary পায়, তাদের নাম, ডিপার্টমেন্ট নম্বর এবং salary নির্বাচন করতে হবে। এজন্য নিম্নরূপ কমান্ড প্রয়োগ করে ফলাফল লক্ষ করি ৪

SQL> Select ename, deptno, sal

2 from emp

3 Where (sal, deptno) IN (select MIN (sal), deptno

4 from emp

5 group by deptno;

ফলাফল:

ENAME DEPTNO SAL
SMITH 20 800
JAMES 30 950
MILLER 10 1300

 

ঙ. COUNT ফাংশন : এ ফাংশনটি নির্বাচিত রেকর্ড, ভ্যালু বা কোন ইভেন্টের সংখ্যা নির্ধারণ করে এবং নির্বাচিত ভ্যালুগুলোর সংখ্যা ফলাফল হিসেবে প্রকাশ করে।

Syntax:

COUNT([DISTINCT/ALL]n)

OR

COUNT (expression)

 

SQL এর অ্যাগ্রিগেট ফাংশনের ব্যবহারের বর্ণনা

 

উদাহরণ: ধরি, emp টেবিলে কত জন কর্মচারী/কর্মকর্তা আছে, তা জানা প্রয়োজন হবে। এজন্য নিম্নরূপ কমান্ড প্রয়োগ করে ফলাফল লক্ষ করি:

SQL> Select count (ename) “Total Employee”

2 from emp

ফলাফল:

Total Employee

14

আরও দেখুনঃ

Leave a Comment