WHERE koşulu toplama işlevleriyle kullanılamadığından HAVING koşulu SQL’e eklenmiştir.
HAVING Syntax
SELECT sütun_adları
FROM tablo_adı
WHERE koşul
GROUP BY sütun_adları
HAVING koşul
ORDER BY sütun_adları;
Code language: SQL (Structured Query Language) (sql)
HAVING Örnekleri
Aşağıdaki SQL kodu, her ülkede yalnızca 5’ten fazla müşterisi olan ülkeleri ve müşteri sayılarını listeler.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
Code language: SQL (Structured Query Language) (sql)
Aşağıdaki SQL kodu, her ülkedeki müşteri sayısını büyükten küçüğe doğru sıralayarak listeler (Yalnızca 5’ten fazla müşterisi olan ülkeleri içerir):
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;
Code language: SQL (Structured Query Language) (sql)
Aşağıdaki SQL kodu, 10’dan fazla sipariş kaydeden çalışanları listeler:
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;
Code language: SQL (Structured Query Language) (sql)
Aşağıdaki SQL kodu, “Davolio” veya “Fuller” çalışanlarından 25’ten fazla sipariş kaydedenleri listeler:
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;
Code language: SQL (Structured Query Language) (sql)