SQL HAVING جمله
- صفحه قبلی SQL Group By
- صفحه بعدی SQL ucase()
HAVING جملۀ
دلیل اضافه کردن جملۀ HAVING در SQL این است که کلید WHERE نمیتواند با تابعهای مجموعهای استفاده شود.
نحوه استفاده از SQL 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
مثال SQL HAVING
ما جدول "Orders" زیر را داریم:
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/12/29 | 1000 | Bush |
2 | 2008/11/23 | 1600 | Carter |
3 | 2008/10/05 | 700 | Bush |
4 | 2008/09/28 | 300 | Bush |
5 | 2008/08/06 | 2000 | Adams |
6 | 2008/07/21 | 100 | Carter |
حالا ما میخواهیم مشتریانی که مبلغ کل سفارشات آنها کمتر از 2000 است را پیدا کنیم.
ما جملۀ SQL زیر را استفاده کردهایم:
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer HAVING SUM(OrderPrice)<2000
نتایج مشابه:
Customer | SUM(OrderPrice) |
---|---|
Carter | 1700 |
حالا ما میخواهیم مشتریان "Bush" یا "Adams" را پیدا کنیم که مبلغ کل سفارشات آنها بیش از 1500 است.
ما یک جملۀ WHERE معمولی به جملۀ SQL خود اضافه کردهایم:
SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Bush' OR Customer='Adams' GROUP BY Customer HAVING SUM(OrderPrice)>1500
نتایج:
Customer | SUM(OrderPrice) |
---|---|
Bush | 2000 |
Adams | 2000 |
- صفحه قبلی SQL Group By
- صفحه بعدی SQL ucase()