آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

عبارت HAVING در SQL

دوره های مرتبط با این مقاله

عبارت HAVING در SQL

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

فرم عبارت HAVINGدر SQL

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;
مثال استفاده از HAVING در پایگاه داده

در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد.

جدول زیر از میان جدول "Orders" انتخاب شده است:

OrderID
CustomerID
EmployeeID
OrderDate
ShipperID
10248
90
5
1996-07-04
3
10249
81
6
1996-07-05
1
10250
34
4
1996-07-08
2

و جدول زیر از میان جدول "Employees" انتخاب شده است:


EmployeeID
LastName
FirstName
BirthDate
Photo
Notes
1
Davolio
Nancy
1968-12-08
EmpID1.pic
Education includes a BA....
2
Fuller
Andrew
1952-02-19
EmpID2.pic
Andrew received his BTS....
3
Leverling
Janet
1963-08-30
EmpID3.pic
Janet has a BS degree....

مثال

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

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

اگر هر کدام از کارکنان بیش از 10 سفارش ثبت کرده باشند، عبارت SQL زیر می تواند آنرا تشخیص داده و بیابد:

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders
INNER JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID)
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 10;

اکنون می خواهیم بیابیم که کدامیک از کارکنان “Davolio” یا “Fuller” بیش از 25 سفارش ثبت کرده اند.

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

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
INNER JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID
WHERE LastName='Davolio' OR LastName='Fuller'
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 25; 
  • 1707
  •    800
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .