تاریخ : شنبه 14 مرداد 1391
نویسنده : hamidrezakhouri

توابع درون ساخته SQL

1 ) تابع Avg :

تابع Avg برای محاسبه ميانگين اعداد موجود در يک فيلد به کار می رود . اين تابع اعداد را با هم جمع کرده و آنها را به طور اتوماتيک بر تعدادشان تقسیم می کند و نتيجه را به عنوان خروجی بر می گرداند .
نکته : اين تابع بايد با فيلدهايی که داده آنها از نوع عددی است ، به کار رود .
توجه : در تمام مثال های اين صفحه از داده های جداول زير استفاده می شود :

Student Table
Student ID Name Family Major City Grade
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

Courses Table
Course ID Co Title Credit Co Type
1011 پايگاه داده 3 عملی
1012 مباحث ويژه 3 عملی
1013 زبان تخصصی 2 نطری

Selection Table
Student ID Course ID Term Year Grade
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 کد
معدل
16.8
خروجی

مثال : معدل نمرات دانشجويان رشته نرم افزار را در درس پايگاه داده محاسبه کرده و در ستونی به نام معدل نمايش دهيد :

مثال
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 = 'پايگاه داده ' ;
کد
معدل
11.5
خروجی


تابع Sum :

تابع Sum ، مجموع مقادير اعداد در يک فيلد را محاسبه کرده و به عنوان خروجی بر می گرداند .
نکته : اين تابع بايد با فيلدهايی که داده آنها از نوع عددی است ، به کار رود .

مثال : از جدول انتخاب واحد ( Selection ) مجموع نمرات دانشجويان را در درس پايگاه داده با کد 1011 را محاسبه کنيد :

مثال
Select Sum ( Selection.Grade ) As مجموع نمرات پايگاه داده
From Selection,Courses
AND Selection.Course ID = Courses.Course ID
AND Selection.Course ID = 1011 ;
کد
مجموع نمرات پايگاه داده
47
خروجی

مثال : از جدول انتخاب واحد ، مجموع نمرات دانشجو حسام رضوی را محاسبه کنيد :

مثال
Select Sum ( Selecton.Grade ) As مجموع نمرات حسام رضوی
From Students,Selection
Where Students.Student ID = Selection.StudentID
AND Name = ' Hesam '
AND Family = ' Razavi ' ;
کد
مجموع نمرات حسام رضوی
26
خروجی


3 ) تابع Min :

اين تابع ، کمترين مقدار موجود در بين مقادير فيلدهای يک ستون را بر می گرداند .
نکته : اين تابع با ستون هايی که داده آنها از نوع عددی يا حروفی باشد ، می تواند به کار رود . در فيلدها با مقادير عددی تابع کوچکترين عدد و در فيلدها با مقادير متنی ، تابع کلمه ای که به ترتيب حروف الفبا از آ تا ی در فارسی و A تا Z در انگلِسی در بالاترين رده باشد ، را بر می گرداند .

مثال : اولين نام خانوادگی دانشجویان را از جدول Students نمايش دهيد :

مثال
Select Min ( Family ) As Family From Students کد
Family
Ahamdi
خروجی

مثال : کمترين نمره دانشجویان را از جدول Selection نمايش دهيد :

مثال
Select Min ( Grade ) As کمترين نمره From Selection کد
کمترين نمره
8
خروجی


4 ) تابع Max :

اين تابع ، بيشترين مقدار موجود در بين مقادير فيلدهای يک ستون را بر می گرداند .
نکته : اين تابع با ستون هايی که داده آنها از نوع عددی يا حروفی باشد ، می تواند به کار رود . در فيلدها با مقادير عددی تابع بزگترين عدد و در فيلدها با مقادير متنی ، تابع کلمه ای که به ترتيب حروف الفبا از آ تا ی در فارسی و A تا Z در انگلِسی در آخرين رده باشد ، را بر می گرداند .

مثال : آخرين نام خانوادگی دانشجویان را از جدول Students نمايش دهيد :

مثال
Select Max ( Family ) As Family From Students کد
Family
Rezaee
خروجی

مثال : بيشترين نمره دانشجویان را از جدول Selection نمايش دهيد :

مثال
Select Max ( Grade ) As بيشترين نمره From Selection کد
بيشترين نمره
19
خروجی


5 ) تابع First :

اين تابع مقدار اولين رکورد را در يک فيلد بر می گرداند . ترتيب در اينجا ، همان ترتیب قرار گيری رکوردها در جدول است .


6 ) تابع Last :

اين تابع مقدار آخرين رکورد را در يک فيلد بر می گرداند . ترتيب در اينجا ، همان ترتیب قرار گيری رکوردها در جدول است .


7 ) تابع Count :

اين تابع تعداد سطرهای موجود در يک فيلد را شمرده و مقدار آنرا بر می گرداند . به اين تابع ، تابع سطر شمار هم می گويند .
مثال : اين تابع فيلدهايی که مقدار آنها خالی يا تکراری باشد را نمی شمارد . برای شمارش کليه فيلدها ( حتی تکراری ) بايد قبل از نام ستون در دستور Count عبارت Distinct ذکر شود .

مثال : تعداد درس هايي که دانشجو با شماره دانشجويي 35654415 قبول شده را بدهيد :

مثال
Select Count ( Course ID ) AS تعداد دروس
From Selection
Where Student ID = 35654415
AND Grade > 10 ;
کد
تعداد دروس
1
خروجی

مثال : تعداد دانشجويانی که درس پايگاه داده را انتخاب کرده اند را اعلام کنيد :

مثال
Select Count ( DISTINCT Selection.Course ID ) AS تعداد دانشجويان
From Selection , Courses
Where Selection.Course ID = Courses.Course ID
AND CoTitle = ' پايگاه داده ' ;
کد
تعداد دانشجويان
4
خروجی

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : شنبه 14 مرداد 1391
نویسنده : hamidrezakhouri

مقدمه توابع درون ساخته SQL :

زبان SQL دارای يکسری توابع درون ساخته ( آماده ) برای محاسبات بر روی داده های جداول و ارائه خروجی مناسب برای اهداف خاص است .
در هنگام استفاده از توابع SQL بايد به نکات زير دقت کرد :

  1. بايد نوع داده هر ستون ( فيلد ) جدول متناسب با عملکرد تابع مورد استفاده باشد . برای مثال توابعی که اعمال رياضی انجام می دهند ، بايد با فيلدهايی از نوع عددی به کار روند .
  2. می توان نتايج عملکرد هر تابع را با استفاده از ويژگی Alias که قبلا در مورد آن صحبت کرديم ، به صورت يک ستون جديد با عنوان دلخواه نمايش داد . برای مثال می توان با استفاده از تابع Avg ميانگين نمرات هر دانشجو را محاسبه کرده و آنرا در يک ستون جديد به نام Average نمايش داد . اين مورد را در مثال های ذکر شده بررسی می کنيم . 
  3. برنامه نتایج خروجی هر تابع را به صورت يک ستون جديد نمايش می دهد .

شکل کلی استفاده از توابع درون ساخته به صورت زير است :

Select  Function* ( نام فيلد )   From  نام جدول
* Function = نام تابع

مثال : محاسبه و نمايش معدل دانشجويان با استفاده از تابع Avg و نمايش آن تحت ستون جديدی به نام Average :

Select Avg ( Grade ) As Average From Students

نکته : در هنگام استفاده از توابع SQL ، چنانچه شرط های برای دستور Select تعريف شده باشد ، تابع فقط مقادير فيلدهايی از هر ستون را در محاسبه دخالت می دهد که با شروط ارائه شده سازگاری داشته باشند .
برای مثال وقتی می گوئيم که معدل دانشجويان رشته نرم افزار را در درس پايگاه داده محاسبه کنيد ، برنامه فقط ميانگين نمرات آن دسته از دانشجويان را محاسبه می کند و به بقيه مقادير ستون کاری ندارد .

نکته : چنانچه توسط ويژگی Alias ، عنوانی برای ستون جديد ايجاد شده تعيين نکنيد ، خود برنامه به صورت خودکار يک نام پيش فرض به آن اختصاص می دهد .


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : شنبه 14 مرداد 1391
نویسنده : hamidrezakhouri

دستور Select Into :

از دستور Select Into در موارد زير استفاده می شود :

  • ايجاد يک Back Up ( نسخه پشتيبان ) از يک جدول .
  • ايجاد يک آرشيو از رکوردهای يک جدول .
  • قرار دادن برخی از رکوردها يا فيلدهای مورد نظر از يک جدول در يک جدول جديد .
  • ايجاد يک نسخه پشتيبان از کل يک پايگاه داده در يک پايگاه داده جديد .

شکل کلی استفاده از اين دستور به صورت زير است :

Select   نام فيلدهای مورد نظر  Into  نام جدول جديد   [ IN  نام يک پايگاه داده جديد ]
From  نام جدول مبدا ;

نکته : ذکر نام يک پايگاه داده جديد در دستور Select Into اختياری است . چنانچه نامی در اين قسمت ذکر نشود ، برنامه نسخه پشتيبان را در همان پايگاه داده موجود ايجاد می کند و چنانچه نامی ذکر شود ، برنامه نسخه پشتيبان را در پايگاه داده ذکر شده ايجاد می کند .

مثال : ايجاد يک Back Up از جدول Students در يک جدول جديد :

مثال
Select * Into Student_Backup
From Students ;
کد

مثال : ايجاد يک Back Up از جدول Students در يک جدول ديگر در يک پايگاه داده جديد به نام Backup.mdb :

مثال
Select * Into Student_Backup In "Backup.mdb"
From Students ;
کد

توجه : در مثال های زير از اطلاعات جداول Students , Courses , Selection که در صفحات قبل معرفی کرديم ، استفاده می کنيم . برای رعايت اختصار از قرار دادن آنها در اينجا خودداری می کنيم .

نکته : همچنين می توان فقط يک يا چند ستون يا رکورد را از يک جدول در يک جدول جديد وارد کرد . برای اين کار بايد نام آن فيلدها را پس از دستور Select تعيين کرده و برای رکوردهای مورد نظر نيز شروط مورد نظر تعريف شود .

مثال : فيلدهای Name و Family را از جدول Students را در يک جدول جديد به نام Names وارد کنيد :

مثال
Select Name , Family Into Names
From Students ;
کد
بعد از اجرای دستور فوق جدول جديدی به نام Names با مشخصات زير ايجاد خواهد شد . توضيح
Names Table
Name Family
Ahmad Rezaee
Ehsan Amiri
Zahra Hosini
Sahar Ahmadi
Hesam Razavi
خروجی

مثال : از جدول Students ، مشخصات دانشجويانی که نمره آنها بيش از 17 است را در جدول جديدی به نام Highscores وارد کنيد :

مثال
Select * Into Highscores
From Students
where Grade > 17 ;
کد
بعد از اجرای دستور فوق جدول جديدی به نام Names با مشخصات زير ايجاد خواهد شد . توضيح
Highscores Table
Student ID Name Family Major City Grade
41252214 Ahmad Rezaee Hard Ware Tehran 18
35654415 Hesam Razavi Soft Ware Tehran 19
خروجی

مثال : مشخصات نام ، نام خانوادگی ، نام درس و نمره دانشجويانی که در جدول انتخاب واحد ، نمره آنها بيش از 15 بوده را در يک جدول جديد به نام Highgrades وارد کنيد :

مثال
Select Name , Family , CoTitle , Selection.Grade Into Highgrades
From Students , Selection , Courses
WhereStudent.Student ID = Selection.Student ID
AND Selection.Course ID = Courses.Course ID
AND Grade > 15 ;
کد
بعد از اجرای دستور فوق جدول جديدی به نام Names با مشخصات زير ايجاد خواهد شد . توضيح
Highgrades Table
Name Family CoTitle Grade
Ahmad Rezaee پايگاه داده 16
Sahar Ahmadi مباحث ويژه 19
Ahmad Rezaee مباحث ويژه 17
Sahar Ahmadi زبان تخصصی 16
Heasm Razavi زبان تخصصی 17
خروجی

|
امتیاز مطلب : 4
|
تعداد امتیازدهندگان : 1
|
مجموع امتیاز : 1
تاریخ : شنبه 14 مرداد 1391
نویسنده : hamidrezakhouri

دستور Having :

از اين دستور برای افزودن شرط به توابع درون ساخته SQL استفاده می شود ، زيرا از دستور Where نمی توان برای کار با مقادير خروجی توابع درون ساخته SQL استفاده کرد .
به عبارت ديگر Having برای اعمال شرط به ستون ها اعمال می شود و همان کاری را می کند که Where در رکوردها انجام می دهد .با مثال های زير استفاده از دستور Having را بررسی می کنيم :
نکته : دستور Having معمولا با Group By می آيد .
- توجه : از داده های جداول زير در مثال های اين صفحه استفاده می کنيم :

Student Table
Student ID Name Family Major City Grade
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

Courses Table
Course ID Co Title Credit Co Type
1011 پايگاه داده 3 عملی
1012 مباحث ويژه 3 عملی
1013 زبان تخصصی 2 نطری

Selection Table
Student ID Course ID Term Year Grade
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 , Selection مجموع نمرات و نام و نام خانواگی دانشجويانی که مجموع نمرات آنها بيش از 25 است را نمايش دهيد :

مثال
Select Name , Family , Sum ( Selection.Grade ) As مجموع نمرات
From Students , Selection
Where Students.Student ID = Selection.Student ID
Group By Name , Family
Having Sum ( Selection.Grade ) > 25
Order By Family;
کد
Name Family مجموع نمرات
Sahar Ahmadi 35
Ahmad Rezaee 33
خروجی

مثال : از جدول Selection و Courses نام دروسی را ارائه دهيد که 4 بار توسط دانشجويان انتخاب شده باشد :

مثال
Select CoTitle , Count ( Selection.Course ID ) As تعداد انتخاب
From Selection , Courses
Where Selection.Course ID = Courses.Course ID
Group By CoTitle
Having Count ( Selection.Grade ) = 4 ;
کد
CoTitle تعداد انتخاب
پايگاه داده 4
خروجی

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : شنبه 14 مرداد 1391
نویسنده : hamidrezakhouri

دستور Group By :

در هنگام استفاده از برخی از توابع درون ساخته SQL که عمل محاسبه ( مثل مجموع و ميانگين ) را بر روی داده ها انجام می دهند ، اين مشکل وجود دارد که اين توابع قادر به جدا کردن و متمايز کردن اطلاعات موجود در دو ستون نسبت به هم نيستند و نتايج محاسبات را به صورت کلی برای همه آنها در نظر می گيرند .
از دستور Group By برای دسته بندی يک ستون بر حسب مقادير مشابه فيلدهای يک ستون ديگر استفاده می شود .
شکل کلی استفاده از اين دستور به صورت زير است :

Select  نام ستون 1 , Sum ( 2 نام ستون )  ّFrom  نام جدول  Group By  نام ستون 1 ;

مثال : فرض کنيد جدولی به صورت زير برای نمرات 2 دانشجو داريم :

Class Table
Name Grade
Ali Ahmadi 18
Reza Hoseini 17
Ali Ahmadi 20
Reza Hoseini 13

در صورت عدم استفاده از دستور Group By در تابع Sum خروجی زير را خواهيم داشت :

مثال
Select Sum ( Grade ) As مجموع نمرات
From Class ;
کد
مجموع نمرات
68
خروجی

- مسلما خروجی فوق مورد نظر برنامه ساز نيست . می توان با استفاده از دستور Group By ، مجموع نمرات را برای دانشجويان بر حسب ستون Name به صورت جدا محاسبه کرد و به صورت زير نمايش داد :

مثال
Select Name ,Sum ( Grade ) As مجموع نمرات
From Class
Group By Name ;
کد
Name مجموع نمرات
Ali Ahmadi 38
Reaz Hoseini 30
خروجی

مثال 2 : از جدول Students و Selection مجموع نمرات هر دانشجو را به همراه نام و نام خانوادگی ، که بر حسب نام خانوادگی مرتب شده باشد نمايش دهيد :

Student Table
Student ID Name Family Major City Grade
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

Selection Table
Student ID Course ID Term Year Grade
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

مثال
Select Name , Family , Sum ( Selection.Grade ) As مجموع نمرات
From Students , Selection
Where Students.Student ID = Selection.Student ID
Group By Name , Family
Order By Family;
کد
Name Family مجموع نمرات
Sahar Ahmadi 35
Ehsan Amiri 25
Zahra Hoseini 21
Hesam Razavi 26
Ahmad Rezaee 33
خروجی

|
امتیاز مطلب : 3
|
تعداد امتیازدهندگان : 1
|
مجموع امتیاز : 1
تاریخ : شنبه 14 مرداد 1391
نویسنده : hamidrezakhouri

توابع درون ساخته SQL

1 ) تابع Avg :

تابع Avg برای محاسبه ميانگين اعداد موجود در يک فيلد به کار می رود . اين تابع اعداد را با هم جمع کرده و آنها را به طور اتوماتيک بر تعدادشان تقسیم می کند و نتيجه را به عنوان خروجی بر می گرداند .
نکته : اين تابع بايد با فيلدهايی که داده آنها از نوع عددی است ، به کار رود .
توجه : در تمام مثال های اين صفحه از داده های جداول زير استفاده می شود :

Student Table
Student ID Name Family Major City Grade
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

Courses Table
Course ID Co Title Credit Co Type
1011 پايگاه داده 3 عملی
1012 مباحث ويژه 3 عملی
1013 زبان تخصصی 2 نطری

Selection Table
Student ID Course ID Term Year Grade
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 کد
معدل
16.8
خروجی

مثال : معدل نمرات دانشجويان رشته نرم افزار را در درس پايگاه داده محاسبه کرده و در ستونی به نام معدل نمايش دهيد :

مثال
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 = 'پايگاه داده ' ;
کد
معدل
11.5
خروجی


تابع Sum :

تابع Sum ، مجموع مقادير اعداد در يک فيلد را محاسبه کرده و به عنوان خروجی بر می گرداند .
نکته : اين تابع بايد با فيلدهايی که داده آنها از نوع عددی است ، به کار رود .

مثال : از جدول انتخاب واحد ( Selection ) مجموع نمرات دانشجويان را در درس پايگاه داده با کد 1011 را محاسبه کنيد :

مثال
Select Sum ( Selection.Grade ) As مجموع نمرات پايگاه داده
From Selection,Courses
AND Selection.Course ID = Courses.Course ID
AND Selection.Course ID = 1011 ;
کد
مجموع نمرات پايگاه داده
47
خروجی

مثال : از جدول انتخاب واحد ، مجموع نمرات دانشجو حسام رضوی را محاسبه کنيد :

مثال
Select Sum ( Selecton.Grade ) As مجموع نمرات حسام رضوی
From Students,Selection
Where Students.Student ID = Selection.StudentID
AND Name = ' Hesam '
AND Family = ' Razavi ' ;
کد
مجموع نمرات حسام رضوی
26
خروجی


3 ) تابع Min :

اين تابع ، کمترين مقدار موجود در بين مقادير فيلدهای يک ستون را بر می گرداند .
نکته : اين تابع با ستون هايی که داده آنها از نوع عددی يا حروفی باشد ، می تواند به کار رود . در فيلدها با مقادير عددی تابع کوچکترين عدد و در فيلدها با مقادير متنی ، تابع کلمه ای که به ترتيب حروف الفبا از آ تا ی در فارسی و A تا Z در انگلِسی در بالاترين رده باشد ، را بر می گرداند .

مثال : اولين نام خانوادگی دانشجویان را از جدول Students نمايش دهيد :

مثال
Select Min ( Family ) As Family From Students کد
Family
Ahamdi
خروجی

مثال : کمترين نمره دانشجویان را از جدول Selection نمايش دهيد :

مثال
Select Min ( Grade ) As کمترين نمره From Selection کد
کمترين نمره
8
خروجی


4 ) تابع Max :

اين تابع ، بيشترين مقدار موجود در بين مقادير فيلدهای يک ستون را بر می گرداند .
نکته : اين تابع با ستون هايی که داده آنها از نوع عددی يا حروفی باشد ، می تواند به کار رود . در فيلدها با مقادير عددی تابع بزگترين عدد و در فيلدها با مقادير متنی ، تابع کلمه ای که به ترتيب حروف الفبا از آ تا ی در فارسی و A تا Z در انگلِسی در آخرين رده باشد ، را بر می گرداند .

مثال : آخرين نام خانوادگی دانشجویان را از جدول Students نمايش دهيد :

مثال
Select Max ( Family ) As Family From Students کد
Family
Rezaee
خروجی

مثال : بيشترين نمره دانشجویان را از جدول Selection نمايش دهيد :

مثال
Select Max ( Grade ) As بيشترين نمره From Selection کد
بيشترين نمره
19
خروجی


5 ) تابع First :

اين تابع مقدار اولين رکورد را در يک فيلد بر می گرداند . ترتيب در اينجا ، همان ترتیب قرار گيری رکوردها در جدول است .


6 ) تابع Last :

اين تابع مقدار آخرين رکورد را در يک فيلد بر می گرداند . ترتيب در اينجا ، همان ترتیب قرار گيری رکوردها در جدول است .


7 ) تابع Count :

اين تابع تعداد سطرهای موجود در يک فيلد را شمرده و مقدار آنرا بر می گرداند . به اين تابع ، تابع سطر شمار هم می گويند .
مثال : اين تابع فيلدهايی که مقدار آنها خالی يا تکراری باشد را نمی شمارد . برای شمارش کليه فيلدها ( حتی تکراری ) بايد قبل از نام ستون در دستور Count عبارت Distinct ذکر شود .

مثال : تعداد درس هايي که دانشجو با شماره دانشجويي 35654415 قبول شده را بدهيد :

مثال
Select Count ( Course ID ) AS تعداد دروس
From Selection
Where Student ID = 35654415
AND Grade > 10 ;
کد
تعداد دروس
1
خروجی

مثال : تعداد دانشجويانی که درس پايگاه داده را انتخاب کرده اند را اعلام کنيد :

مثال
Select Count ( DISTINCT Selection.Course ID ) AS تعداد دانشجويان
From Selection , Courses
Where Selection.Course ID = Courses.Course ID
AND CoTitle = ' پايگاه داده ' ;
کد
تعداد دانشجويان
4
خروجی

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : شنبه 14 مرداد 1391
نویسنده : hamidrezakhouri

مقدمه توابع درون ساخته SQL :

زبان SQL دارای يکسری توابع درون ساخته ( آماده ) برای محاسبات بر روی داده های جداول و ارائه خروجی مناسب برای اهداف خاص است .
در هنگام استفاده از توابع SQL بايد به نکات زير دقت کرد :

  1. بايد نوع داده هر ستون ( فيلد ) جدول متناسب با عملکرد تابع مورد استفاده باشد . برای مثال توابعی که اعمال رياضی انجام می دهند ، بايد با فيلدهايی از نوع عددی به کار روند .
  2. می توان نتايج عملکرد هر تابع را با استفاده از ويژگی Alias که قبلا در مورد آن صحبت کرديم ، به صورت يک ستون جديد با عنوان دلخواه نمايش داد . برای مثال می توان با استفاده از تابع Avg ميانگين نمرات هر دانشجو را محاسبه کرده و آنرا در يک ستون جديد به نام Average نمايش داد . اين مورد را در مثال های ذکر شده بررسی می کنيم . 
  3. برنامه نتایج خروجی هر تابع را به صورت يک ستون جديد نمايش می دهد .

شکل کلی استفاده از توابع درون ساخته به صورت زير است :

Select  Function* ( نام فيلد )   From  نام جدول
* Function = نام تابع

مثال : محاسبه و نمايش معدل دانشجويان با استفاده از تابع Avg و نمايش آن تحت ستون جديدی به نام Average :

Select Avg ( Grade ) As Average From Students

نکته : در هنگام استفاده از توابع SQL ، چنانچه شرط های برای دستور Select تعريف شده باشد ، تابع فقط مقادير فيلدهايی از هر ستون را در محاسبه دخالت می دهد که با شروط ارائه شده سازگاری داشته باشند .
برای مثال وقتی می گوئيم که معدل دانشجويان رشته نرم افزار را در درس پايگاه داده محاسبه کنيد ، برنامه فقط ميانگين نمرات آن دسته از دانشجويان را محاسبه می کند و به بقيه مقادير ستون کاری ندارد .

نکته : چنانچه توسط ويژگی Alias ، عنوانی برای ستون جديد ايجاد شده تعيين نکنيد ، خود برنامه به صورت خودکار يک نام پيش فرض به آن اختصاص می دهد .


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : چهارشنبه 28 تیر 1391
نویسنده : hamidrezakhouri
حلول ماه مبارک رمضان ماه امت محمدی (ص) ماه میهمانی خدا مبارک باد

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : شنبه 17 تیر 1391
نویسنده : hamidrezakhouri

دستور Alter :

از دستور Alter برای اضافه کردن يا حذف کامل يک ستون از يک جدول موجود در پايگاه داده استفاده می شود .


1 ) اضافه کردن يک ستون :

برای اضافه کردن يک ستون ( فيلد ) جديد به يک جدول موجود از دستور کلی زير استفاده می شود :

Alter Table  نام جدول
Add  نوع داده ستون   نام ستون

مثال : اضافه کردن يک ستون جديد به نام Age به جدول Students :

مثال
Student Table
Student ID Name Family Major City Grade
جدول Students قبل از اجرای دستور
Alter Table Students
Add Age Int ;
کد
Student Table
Student ID Name Family Major City Grade Age
جدول Students پس از اجرای دستور

2 ) حذف ستون :

برای حذف يک ستون از يک جدول موجود به روش زير عمل می شود :

Alter Table  نام جدول
Drop COLUMN   نام ستون

مثال : حذف فيلد Age از جدول Students :

مثال
Student Table
Student ID Name Family Major City Grade Age
جدول Students قبل از اجرای دستور
Alter Table Students
Drop COLUMN Age ;
کد
Student Table
Student ID Name Family Major City Grade
جدول Students پس از اجرای دستور

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ : شنبه 17 تیر 1391
نویسنده : hamidrezakhouri

دستور Drop :

از اين دستور برای حذف يک جزء در محيط پايگاه داده استفاده می شود .


1 ) حذف انديس Drop Index :

از اين دستور برای حذف يک انديس موجود در يک فيلد جدول استفاده می شود . شکل کلی اين دستور به شرح زير است :

Drop Index   نام انديس  On  نام جدول
مثال : Drop Index Rowup On Students ;


2 ) حذف جدول يا پايگاه داده Drop DataBase Or Table :

از اين دستور برای حذف يک جدول در پايگاه داده يا يک پايگاه داده به صورت کامل استفاده می شود .
دستور حذف جدول :

Drop Table   نام جدول
مثال : Drop Table Students ;

دستور حذف پايگاه داده :

Drop DataBase   نام پايگاه داده
مثال : Drop DataBase UniverCity ;

* نکته مهم : برای حذف کليه اطلاعات موجود در يک جدول بدون حذف ستون های آن از دستور زير استفاده می شود :

Truncate Table   نام جدول
مثال : Truncate Table Univecity ;

اين دستور باعث خالی شدن جدول از اطلاعات می شود ، بدون اينکه خود آن و ساختارش تغييری کند .


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
آخرین مطالب

/
از این که به وبلاگ من سر زدید خیلی خیلی ممنونم باتشکر حمیدرضاخوری

💬 نظرات کاربران
💬ثبت نام کاربران
💬ورود کاربران