HAVING در SQL
یادگیری SQLدستور HAVING به SQL اضافه شد زیرا کلید واژه WHERE با توابع جمع شده قابل استفاده نیست.
ساختار HAVING
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);
پایگاه داده نسخه نمایشی
یک انتخاب از جدول "Customers" نگاه کنید:
مثال HAVING
دستور SQL زیر تعداد مشتریان در هر کشور را فهرست می کند. فقط کشورهای دارای بیش از 5 مشتری را شامل می شود:
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
5 رکورد انتخاب شد
دستور SQL زیر تعداد مشتریان در هر کشور را فهرست می کند که از بالا به پایین مرتب شده اند (فقط کشورهای دارای بیش از 5 مشتری را شامل می شوند):
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;
5 رکورد انتخاب شد
پایگاه داده نسخه نمایشی
یک انتخاب از جدول " Orders" نگاه کنید:
و یک انتخاب از جدول " Employees" نگاه کنید:
مثال های بیشتری از HAVING
دستور SQL زیر لیست کارکنانی را که بیش از 10 سفارش را ثبت کرده اند فهرست می کند:
FROM (Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID)
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 10;
8 رکورد انتخاب شد
دستور SQL زیر اگر کارمندان "Davolio" یا "Fuller" بیش از 25 سفارش را ثبت کرده اند:
FROM Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
WHERE LastName = 'Davolio' OR LastName = 'Fuller'
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 25;
1 رکورد انتخاب شد
نظر شما
>