최신 웹 개발 튜토리얼
 

SQL HAVING 절


HAVING 절

HAVING 절은 WHERE 키워드가 집계 함수와 함께 사용할 수 없기 때문에 SQL 추가되었습니다.

SQL 구문을 HAVING

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;

데모 데이터베이스

이 튜토리얼에서 우리는 잘 알려진 Northwind 예제 데이터베이스를 사용합니다.

아래에서 선택이다 "Orders" 테이블 :

주문 아이디 CustomerID를 직원 ID 주문일 및 ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

그리고에서 선택 "Employees" 테이블 :

직원 ID 이름 생일 사진 노트
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....

SQL HAVING 예

이제 우리는 직원의 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 개 이상의 주문을 등록했다.

우리는 SQL 문에 WHERE 절 평범한를 추가 :

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;

»그것을 자신을 시도