어떻게 함수중에 산생된 수치에 대해 조건을 설정할가요? 예를 들면 우리가 필요한것은 어느 점포의 영업액이$1,500를 초과 하였는가 확인하는것입니다. 이런 상황에서는 WHERE 인스트럭션을 사용할수 없습니다. 그럼 어떻게 할가요? 다행인것은 SQL이 하나의 HAVING 인스트럭션을 제공하기에 우리는 이 인스트럭션으로 목적을 달성할수 있습니다. HAVING 절는 보통 SQL 절의 마지막에 사용됩니다. HAVING 절을 포함한SQL 가 반드시 GROUP BY 절을 포함해야 되는것은 아닙니다. HAVING 의 용어는 아래와 같습니다:
SELECT "필드1", SUM("필드2")
FROM "도표명"
GROUP BY "필드1"
HAVING (함수조건)
독자들이 주의할점: GROUP BY 어구가 반드시 필요한것은 아닙니다.
Store_Information 도표 이 예에서,
Store_Information 도표
| store_name |
Sales |
Date |
| Los Angeles |
$1500 |
Jan-05-1999 |
| San Diego |
$250 |
Jan-07-1999 |
| Los Angeles |
$300 |
Jan-08-1999 |
| Boston |
$700 |
Jan-08-1999 |
우리는 입력합니다,
SELECT store_name, SUM(sales)
FROM Store_Information
GROUP BY store_name
HAVING SUM(sales) > 1500
결과:
| store_name |
|
SUM(Sales) |
| Los Angeles |
|
$1800
|