SQL-절 포함
그만큼 HAVING Clause 결과에 나타나는 그룹 결과를 필터링하는 조건을 지정할 수 있습니다.
WHERE 절은 선택한 열에 조건을 배치하는 반면 HAVING 절은 GROUP BY 절에 의해 생성 된 그룹에 조건을 배치합니다.
통사론
다음 코드 블록은 쿼리에서 HAVING 절의 위치를 보여줍니다.
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
HAVING 절은 쿼리에서 GROUP BY 절 뒤에 와야하며 사용되는 경우 ORDER BY 절 앞에 와야합니다. 다음 코드 블록에는 HAVING 절을 포함하는 SELECT 문의 구문이 있습니다.
SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
예
다음 레코드가있는 CUSTOMERS 테이블을 고려하십시오.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
다음은 2보다 크거나 같은 유사한 연령 계수에 대한 레코드를 표시하는 예입니다.
SQL > SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
GROUP BY age
HAVING COUNT(age) >= 2;
이것은 다음 결과를 생성합니다-
+----+--------+-----+---------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+--------+-----+---------+---------+
| 2 | Khilan | 25 | Delhi | 1500.00 |
+----+--------+-----+---------+---------+