توابع درون ساخته SQL
1 ) تابع Avg :
تابع Avg برای محاسبه ميانگين اعداد موجود در يک فيلد به کار می رود . اين تابع اعداد
را با هم جمع کرده و آنها را به طور اتوماتيک بر تعدادشان تقسیم می کند و نتيجه را
به عنوان خروجی بر می گرداند .
نکته : اين تابع بايد با فيلدهايی که داده آنها از نوع عددی
است ، به کار رود .
توجه : در تمام مثال های اين صفحه از داده های جداول زير
استفاده می شود :
|
41252214
|
Ahmad
|
Rezaee
|
Hard Ware
|
Tehran
|
18
|
|
10724113
|
Ehsan
|
Amiri
|
Soft Ware
|
Karaj
|
14
|
|
10254861
|
Zahra
|
Hosini
|
Hard Ware
|
Tehran
|
17
|
|
27365187
|
Sahar
|
Ahmadi
|
Soft Ware
|
Bam
|
16
|
|
35654415
|
Hesam
|
Razavi
|
Soft Ware
|
Tehran
|
19
|
|
1011
|
پايگاه داده
|
3
|
عملی
|
|
1012
|
مباحث ويژه
|
3
|
عملی
|
|
1013
|
زبان تخصصی
|
2
|
نطری
|
|
41252214
|
1011
|
2
|
85 - 86
|
16
|
|
10724113
|
1011
|
2
|
85 - 86
|
14
|
|
41252214
|
1012
|
1
|
85 - 86
|
17
|
|
10724113
|
1012
|
1
|
85 - 86
|
11
|
|
10254861
|
1013
|
2
|
85 - 86
|
13
|
|
10254861
|
1011
|
2
|
84 - 85
|
8
|
|
27365187
|
1012
|
1
|
84 - 85
|
19
|
|
27365187
|
1013
|
1
|
84 - 85
|
16
|
|
35654415
|
1011
|
2
|
84 - 85
|
9
|
|
35654415
|
1013
|
2
|
84 - 85
|
17
|
مثال : معدل نمرات دانشجويان را از جدول Students محاسبه
کرده و در ستونی به نام معدل نمايش دهيد :
|
Select Avg ( Students.Grade ) As معدل
From Students
|
|
|
مثال : معدل نمرات دانشجويان رشته نرم افزار را در درس پايگاه
داده محاسبه کرده و در ستونی به نام معدل نمايش دهيد :
Select Avg ( Selection.Grade ) As معدل
From Students,Selection,Courses
Where Students.Student ID = Selection.StudentID
AND Selection.Course ID = Courses.Course ID
AND Major = 'Soft'
AND CoTitle = 'پايگاه داده ' ;
|
|
|
تابع Sum :
تابع Sum ، مجموع مقادير اعداد در يک فيلد را محاسبه کرده و به عنوان خروجی بر می گرداند
.
نکته : اين تابع بايد با فيلدهايی که داده آنها از نوع عددی
است ، به کار رود .
مثال : از جدول انتخاب واحد ( Selection ) مجموع نمرات دانشجويان
را در درس پايگاه داده با کد 1011 را محاسبه کنيد :
Select Sum ( Selection.Grade ) As مجموع نمرات
پايگاه داده
From Selection,Courses
AND Selection.Course ID = Courses.Course ID
AND Selection.Course ID = 1011 ;
|
|
|
مثال : از جدول انتخاب واحد ، مجموع نمرات دانشجو حسام رضوی
را محاسبه کنيد :
Select Sum ( Selecton.Grade ) As مجموع نمرات
حسام رضوی
From Students,Selection
Where Students.Student ID = Selection.StudentID
AND Name = ' Hesam '
AND Family = ' Razavi ' ;
|
|
|
3 ) تابع Min :
اين تابع ، کمترين مقدار موجود در بين مقادير فيلدهای يک ستون را بر می گرداند .
نکته : اين تابع با ستون هايی که داده آنها از نوع عددی
يا حروفی باشد ، می تواند به کار رود . در فيلدها با مقادير عددی تابع کوچکترين عدد
و در فيلدها با مقادير متنی ، تابع کلمه ای که به ترتيب حروف الفبا از آ تا ی در فارسی
و A تا Z در انگلِسی در بالاترين رده باشد ، را بر می گرداند .
مثال : اولين نام خانوادگی دانشجویان را از جدول Students
نمايش دهيد :
|
Select Min ( Family ) As Family From Students
|
|
|
مثال : کمترين نمره دانشجویان را از جدول Selection نمايش
دهيد :
|
Select Min ( Grade ) As کمترين نمره From Selection
|
|
|
4 ) تابع Max :
اين تابع ، بيشترين مقدار موجود در بين مقادير فيلدهای يک ستون را بر می گرداند .
نکته : اين تابع با ستون هايی که داده آنها از نوع عددی
يا حروفی باشد ، می تواند به کار رود . در فيلدها با مقادير عددی تابع بزگترين عدد
و در فيلدها با مقادير متنی ، تابع کلمه ای که به ترتيب حروف الفبا از آ تا ی در فارسی
و A تا Z در انگلِسی در آخرين رده باشد ، را بر می گرداند .
مثال : آخرين نام خانوادگی دانشجویان را از جدول Students
نمايش دهيد :
|
Select Max ( Family ) As Family From Students
|
|
|
مثال : بيشترين نمره دانشجویان را از جدول Selection نمايش
دهيد :
|
Select Max ( Grade ) As بيشترين نمره From Selection
|
|
|
5 ) تابع First :
اين تابع مقدار اولين رکورد را در يک فيلد بر می گرداند . ترتيب در اينجا ، همان ترتیب
قرار گيری رکوردها در جدول است .
6 ) تابع Last :
اين تابع مقدار آخرين رکورد را در يک فيلد بر می گرداند . ترتيب در اينجا ، همان ترتیب
قرار گيری رکوردها در جدول است .
7 ) تابع Count :
اين تابع تعداد سطرهای موجود در يک فيلد را شمرده و مقدار آنرا بر می گرداند . به اين
تابع ، تابع سطر شمار هم می گويند .
مثال : اين تابع فيلدهايی که مقدار آنها خالی يا تکراری
باشد را نمی شمارد . برای شمارش کليه فيلدها ( حتی تکراری ) بايد قبل از نام ستون در
دستور Count عبارت Distinct ذکر شود .
مثال : تعداد درس هايي که دانشجو با شماره دانشجويي 35654415
قبول شده را بدهيد :
Select Count ( Course ID ) AS تعداد دروس
From Selection
Where Student ID = 35654415
AND Grade > 10 ;
|
|
|
مثال : تعداد دانشجويانی که درس پايگاه داده را انتخاب کرده
اند را اعلام کنيد :
Select Count ( DISTINCT Selection.Course ID ) AS تعداد دانشجويان
From Selection , Courses
Where Selection.Course ID = Courses.Course ID
AND CoTitle = ' پايگاه داده ' ;
|
|
|