تابع های SQL و معرفی تابع Count – راهنمای جامع


SQL یک سری تابعها (Functions) دارد که هنگام برنامهنویسی پایگاه داده به کمک شما میآیند. Function-های SQL اسکریپت/برنامه خودبسندهای هستند که به منظور خاصی طراحی شدهاند. به طور کلی مقدار بازگشتی یک تابع به چارچوبی که مورد استفاده قرار میگیرد وابسته خواهد بود. در اغلب موارد یک تابع SQL درون یک کوئری استفاده میشود و منظور ما از چارچوب همین است.
Transact-SQL انواع زیر از تابعها را ارائه میکند:
تابعهای ردیفی (Rowset Functions)
این توابع یک شیء بازمیگردانند که میتوان به جای ارجاع یک جدول در هر عبارت SQL استفاده کرد.
تابعهای تجمیعی (Aggregate functions)
این توابع بر روی مجموعهای از مقادیر عمل میکنند و یک مقدار منفرد بازمیگردانند. تابعهای تجمیعی میتوانند به روشهای زیر مورد استفاده قرار گیرند:
- یک فهرست انتخاب برای عبارت SELECT
- یک بند COMPUTE یا COMPUTE BY
- یک بند HAVING
تابعهای رتبهبندی (Ranking Functions)
یک مقدار رتبهبندی برای هر ردیف در یک پارتیشن بازمیگرداند.
تابعهای اسکالر (Scalar Function)
این توابع یک مقدار منفرد را از یک مقدار منفرد بازمیگردانند. تابعهای اسکالر به صورت زیر دستهبندی میشوند:
- تابعهای پیکربندی
- تابعهای کرسر
- تابعهای تاریخ و زمان
- تابعهای ریاضیاتی
- تابعهای فراداده
- تابعهای امنیتی
- تابعهای رشته
- تابعهای سیستم
- تابعهای آماری سیستم
- تابعهای متن و تصویر
توجه داشته باشید که سیستمهای مختلف پایگاه داده، توابع داخلی مخصوص خود را برای محصولاتشان طراحی کردهاند. ضمناً اغلب محصولات، امکان برنامهنویسی با استفاده از تابعهای خاص خود را ارائه میکنند. برای کسب اطلاع در مورد تابعهای اختصاصی هر سیستم پایگاه داده SQL میتوانید به مستندات ارائهدهنده مربوطه مراجعه کنید. در بخش بعدی با یکی از پرکاربردترین توابع SQL یعنی تابع COUNT بیشتر آشنا میشویم.
تابع COUNT
یکی از توابع تجمیعی پر استفاده در SQL تابع ()COUNT است. این تابع تعداد ردیفهایی که با یک معیار معرفی شده مطابقت دارند، باز میگرداند.
COUNT(*)
اگر صرفاً بخواهیم بدانیم که چند رکورد در جدول وجود دارد و علاقهای به دیدن خود این رکوردها نداشته باشیم، در این صورت میتوانیم از تابع (*)Couny استفاده کنیم. این تابع همه چیز را باز میگرداند که شامل مقادیر و موارد تکراری نیز میشود.
عبارت SQL
SELECT COUNT(*) FROM Individual;
جدول منبع
آی دی فرد | نام | نام خانوادگی | نام کاربری |
---|---|---|---|
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
6 | Bono | u2 |
نتیجه
6
Count(نام ستون)
اگر بخواهیم بدانیم چه تعداد مقادیر غیر null در یک ستون وجود دارد، از تابع فوق استفاده میکنیم و به جای عبارت «نام ستون»، نام آن ستونی که میخواهیم بررسی کنیم را قرار میدهیم.
عبارت SQL
SELECT COUNT(LastName) FROM Individual;
جدول منبع
Id | نام | نام خانوادگی | نام کاربری |
---|---|---|---|
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
6 | Bono | u2 |
نتیجه
5
ترکیب Count و Distinct
اگر تنها بخواهیم بدانیم چه تعداد نام منحصر به فرد در یک جدول وجود دارد، میتوانیم از عبارت Distinct به همراه یک تابع Count در SQL استفاده کنیم.
عبارت SQL
SELECT COUNT(DISTINCT(FirstName)) FROM Individual;
نتیجه
6
توابع SQL کاربردهای بسیار زیادی دارند و در این نوشته تنها به معرفی گذرایی از این امکان مهم SQL پرداختیم.
اگر به این مطلب علاقهمند بودید، احتمالاً موارد زیر نیز مورد توجه شما قرار خواهند گرفت:
- آموزش کار با دستورات پایگاه داده در SQL Server
- مجموعه آموزش های پایگاه داده و سیستم های مدیریت اطلاعات
- آموزش آشنایی با دستورات اصلی SQL در اندروید
- طراحی و برنامه نویسی وب
- حفاظت از وبسایت PHP در برابر حملههای تزریق SQL
- آموزش SQL Server Management Studio | کامل، رایگان و گام به گام
==
سلام
تابع distinct
تعداد منحصر به فرد ها رو میدهد پس نتیجه ۴ میشود درسته؟!
بله عزیزم تکراری ها حذف میشن و منحصربفرد ها شمارش میشن