سبد (0)

عبارت having در SQL

عبارت HAVING

Wiki

چون که عبارت WHERE نمی تواند به همراه توابع aggregate استفاده شود عبارت HAVING در SQL به همراه توابع aggregate آورده می شود.

فرم عبارت HAVING:

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

مثال:

Wiki

جدول Orders را در زیر داریم:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

می خواهیم مشتریانی که جمع سفارش آنها کمتر از 2000 است را پیدا کنیم.

از دستور زیر استفاده می کنیم:

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000

نتیجه به شکل زیر خواهد بود:

Customer SUM(OrderPrice)
Nilsen 1700

می خواهیم اگر مشتریان "Hansen" یا "Jensen" جمع سفارش بیشتر از 1500 دارند را نشان دهد.

یک عبارت WHERE به دستور SQL اضافه می شود.

SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Hansen' OR Customer='Jensen'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500

جدول نتیجه به شکل زیر خواهد بود:

Customer SUM(OrderPrice)
Hansen 2000
Jensen 2000

برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه دادهSQLServer کلیک کنید.

آموزش صوتی SQL

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه