دستور having در SQL

  /  SQL   /  دستور having در SQL

به دلیل اینکه نمیتوانیم از توابع در SQL برای شرط where استفاده کنیم با دستور having این کار را انجام می دهیم.

دقت داشته باشید که کار با دستور group by و order by را برای درک بهتر این دستور یاد داشته باشد.

نحوه استفاده از دستور having در SQL

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

مثال برای having در SQL

دستور SQL زیر تعداد مشتریان هر کشور را لیست می کند.

فقط شامل کشورهایی می شود که بیش از 5 مشتری ( customer ) را دارند.

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

دستور SQL زیر تعداد مشتریان هر کشور را با عبارت DESC طبقه بندی کرده است که از بالا به پایین طبقه بندی و لیست می شوند (فقط شامل کشورهایی با بیش از 5 مشتری می شود):

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;

مثال های بیشتر برای عبارت having

دستور SQL زیر کارمندانی را که بیش از 10 سفارش ثبت کرده اند فهرست می کند:

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;

اگر کارکنان با نام های خانوادگی "Boronsi" یا "Asghar Zadeh" بیش از 25 سفارش ثبت کرده باشند ، دستور SQL زیر فهرست می شود:

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
WHERE LastName = 'Boronsi' OR LastName = 'Asghar Zadeh'
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 25;
5/5 - (1 امتیاز)

برای دسترسی به آموزش های بیشتر و ویدیو های من ، کلمه کلیدی متین برونسی را داخل گوگل سرچ کنید.

ارسال یک نظر