SQL HAVING Clause

SQL HAVING CLAUSE

SQL HAVING Clause

Klausa HAVING ditambahkan ke SQL karena kata kunci WHERE tidak dapat digunakan dengan fungsi agregat.

HAVING Sintaks :
SELECT nama_kolom ...
FROM nama_table
WHERE kondisi
GROUP BY nama_kolom
HAVING Kondisi
ORDER BY nama_kolom;

Contoh SQL HAVING Clause

Pernyataan SQL berikut mencantumkan jumlah customers di setiap country. Hanya sertakan country dengan lebih dari 5 customers:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
sql having
terlihat hasil cuountry mana saja yang memiliki customers lebih dari 5

Pernyataan SQL berikut mencantumkan jumlah customers di setiap country, diurutkan dari tinggi ke rendah/descending dan hanya termasuk negara dengan lebih dari 5 pelanggan :
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;
sql having
hasil sama seperti sebelumnya tetapi jumlah count di urutkan descending

SQL HAVING Contoh lagi
Pernyataan SQL berikut mencantumkan karyawan yang telah mendaftarkan lebih dari 10 pesanan:
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;
sql having
hasil query akan terlihat nama customer yang memiliki order lebih dari 10


Pernyataan SQL berikut bernama karyawan "Davolio" atau "Fuller" telah mendaftarkan lebih dari 25 pesanan:
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;
sql having
hasil query


Disqus Comments