سلام دوستان گرامی، در این قسمت از سری آموزش جامع زبان SQL قصد بررسی چند تابع مختلف را داریم. این توابع از توابعی هستند که حتما در طول توسعه ی یک پروژه به کارتان می آیند. بیایید بدون مقدمه شروع کنیم!
اگر معنی نام های این توابع را در انگلیسی بدانید دیگر حتی نیازی به توضیحات من نخواهید داشت! کلمه ی Min در انگلیسی مخفف Minimum (به معنی «کمترین») و کلمه ی Max مخفف Maximum (به معنی «بیشترین») است. حالا که معنی نام این دو واضح شد، کاراییشان نیز واضح است؛ تابع ()MIN کمترین مقدار از یک ستون انتخاب شده را بر می گرداند و ()MAX نیز بیشترین مقدار را.
ساختار کلی تابع ()MIN
SELECT MIN(column_name) FROM table_name WHERE condition;
ساختار کلی تابع ()MAX
SELECT MAX(column_name) FROM table_name WHERE condition;
این بار به سراغ جدول جدیدی از پایگاه داده ی Northwind میرویم. تصویر زیر، قسمتی از جدول Products (به معنی «محصولات») در این پایگاه داده است:
کد زیر، ارزان ترین محصول ما را پیدا می کند:
SELECT MIN(Price) AS SmallestPrice FROM Products;
برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید.
از طرف دیگر، کد زیر گران ترین محصول ما را برمیگرداند:
SELECT MAX(Price) AS LargestPrice FROM Products;
برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید.
به طور خلاصه می توان گفت:
ساختار کلی تابع ()COUNT
SELECT COUNT(column_name) FROM table_name WHERE condition;
ساختار کلی تابع ()AVG
SELECT AVG(column_name) FROM table_name WHERE condition;
ساختار کلی تابع ()SUM
SELECT SUM(column_name) FROM table_name WHERE condition;
وقت آن شده است که مثال ها را بررسی کنیم.
مثال اول، دستور زیر تعداد محصولات ما را به ما می دهد:
SELECT COUNT(ProductID) FROM Products;
برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید.
نکته: مقادیر NULL شامل این شمارش نمی شوند.
مثال دوم، دستور زیر میانگین قیمت تمام محصولات ما را محاسبه می کند:
SELECT AVG(Price) FROM Products;
برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید، می بینید که میانگین قیمت محصولات ما 28.866363636363637 است.
در این حالت نیز مقادیر NULL محاسبه نمی شوند.
حالا بیایید به جدول دیگری برویم. جدول زیر، قسمتی از جدول OrderDetails (به معنی «جزئیات سفارش») می باشد:
حالا می توانیم به راحتی از تابع ()SUM استفاده کنیم و جمع کل مقادیرِ ستون Quantity (به معنی «تعداد») را پیدا کنیم:
SELECT SUM(Quantity) FROM OrderDetails;
مقداری که به ما بر میگردد 12743 است که در واقع جمع تمام مقادیر موجود در ستون Quantity است. برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید. مثل همیشه نیز باید بدانید که مقادیر NULL حساب نمی شوند چرا که مقداری ندارند.
حتما می دانید که راز برنامه نویسی در کدنویسی است! این جمله یعنی شما تا با دستان خود و با فکر خود کد ننویسید برنامه نویس نخواهید شد حتی اگر کدها را بفهمید. دیدن و فهمیدن کدها یک چیز است و نوشتن آن ها چیزی دیگر! بنابراین در هر چند جلسه ممکن است تمریناتی به شما بدهیم و از شما بخواهیم جواب را پیدا کنید. توصیه ی بنده این است که مستقیما به سمت جواب نروید بلکه سعی کنید خودتان آن را به دست بیاورید. برویم سراغ تمرین ها...
سوال اول: مقادیر City
و Country
را به بروزرسانی (UPDATE) کنید:
پاسخ سوال:
UPDATE Customers SET City = 'Oslo', Country = 'Norway' WHERE CustomerID = 32;
در جلسات قبل توضیح دادیم که برای تعیین مقدار از دستور SET استفاده می کنیم. همچنین کلیدواژه ی UPDATE که در صورت سوال به شما دادیم به معنای بروزرسانی است (یعنی تغییر دادن یک مقدار قدیمی). نکته ی خاصی در مورد Country وجود ندارد اما نکته ی ریزی که اکثر برنامه نویسان فراموش می کنند قرار دادن ویرگول بین مقادیر مختلفی است که تعیین می شوند. به خط ,'SET City = 'Oslo در کد دقت کنید؛ اگر ویرگول (که قرمز شده است) برداشته شود تمام کد ما خراب می شود.
سوال دوم: تمام ردیف هایی که در جدول Customers
قرار دارند و مقدار Country
در آن ها برابر با Norway است را حذف کنید:
پاسخ سوال:
DELETE FROM Customers WHERE Country = 'Norway';
دستور DELETE و همچنین دستور WHERE در مقالات زیر مورد بحث قرار گرفت:
دستورات UPDATE و DELETE در SQL
اگر با دستور DELETE و مخصوصا نکات ریز WHERE آشنا بوده باشید، این سوال برایتان هیچ نکته ی خاصی نداشته است.
سوال سوم: از بین توابعی که در این جلسه یاد گرفته ایم، تابعی را انتخاب کنید که ردیف هایی را به ما برگرداند که در آن ها Price
دارای مقدار 18 است:
پاسخ سوال:
SELECT COUNT(*) FROM Products WHERE Price = 18;
نکات کد بالا:
با تابع COUNT آشنا شده ایم و میدانیم که تعداد ردیف هایی را بر می گرداند که با حالت یا شرط خاصی انطباق دارند. این حالت یا شرط خاص را می توان درون پرانتز های آن (به عنوان پارامتر) نوشت. ما در این مثال از علامت ستاره * استفاده کرده ایم؛ باید بدانید علامت ستاره یعنی همه! به عبارت دیگر کد (*)SELECT COUNT می گوید همه را بشمار، سپس خط FROM Products جدول ما را مشخص می کند و ;WHERE Price = 18 می گوید در مواقعی که مقدار price برابر 18 باشد.
در قسمت اول این مقاله با توابع مهم زبان SQL آشنا شدیم؛ یعنی توابع MIN, MAX, COUNT, AVG, SUM و برای هر کدام مثال هایی ذکر کردیم. سپس در قسمت دوم مقاله طبق عادت همیشگی چند تمرین به شما ارائه کرده و آن ها را با پاسخ صحیح تحلیل کردیم. واضح است که این توابع تمام توابع موجود در SQL نیستند اما میتوان گفت از پرکاربرد ترین آن ها به شمار می آیند. امیدوارم از این قسمت لذت برده باشید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.