본문 바로가기
Data Engineering

[SQLD 자격검정 실전문제] Part 2-1. 64번 GROUP BY, HAVING

by 햣둘 2025. 5. 29.

정답 : 4번

1) 집계함수의 통계 정보는 NULL 값을 가진 행을 포함 하여 수행한다. (X)

-> SUM 함수는 NULL 값을 가진 행을 제외하고 수행된다.

2) GROUP BY 절에서는 SELECT 절과 같이 ALIAS 명을 사용할 수 있다. (X)

-> ALIAS(별칭)는 SELECT 절에서 정의된 경우, GROUP BY 절에서는 사용할 수 없다.

3) 집계 함수는 WHERE 절에도 올 수 있다. (X)

-> 집계 함수 조건은 반드시 HAVING 절에 사용해야 한다.

-> WHERE 절은 집계 함수를 사용할 수 없다.

4) HAVING 절은 일반적으로 GROUP BY 절 뒤에 위치한다. (O)

HAVING 절은 GROUP BY 절에 의한 그룹화 이후에 적용되는 조건절로, 일반적으로 GROUP BY 절 뒤에 위치한다.

 

순서

SELECT

FROM

WHERE

GROUP BY

HAVING

[요약 설명]

이 문제는 GROUP BY와 HAVING 절의 기능과 특징을 이해하고 있는지를 평가함.

특히 집계 함수의 동작 방식, 절의 위치 및 사용 규칙을 정확히 파악하는 것이 필요함.

[이론적 내용]

1. GROUP BY 절

- SELECT 문의 결과를 그룹으로 묶어 집계함수(SUM, AVG, COUNT 등)를 적용함

- ex) SELECT 부서, COUNT(*) FROM 직원 GROUP BY 부서;

- ALIAS(별칭)는 SELECT 절에서 정의된 경우, GROUP BY 절에서는 사용할 수 없음

 

2. HAVING 절

- 그룹화된 결과에 조건을 적용할 때 사용됨

- ex) SELECT 부서, COUNT(*) FROM 직원 GROUP BY 부서 HAVING COUNT(*) > 5;

- 일반적으로 GROUP BY 절 뒤에 위치하며, 집계함수 조건을 포함할 수 있음

 

3. 집계 함수와 NULL 값

- 집계 함수는 기본적으로 NULL 값을 무시하고 수행됨

- ex) SUM(NULL, 10, 20)의 결과는 30임

 

4. WHERE 절과 집계함수

- WHERE 절은 그룹화 이전에 조건을 적용하며, 집계함수를 사용할 수 없음

- 집계함수 조건은 반드시 HAVING 절에 사용해야 함