이번 포스팅에서는 SQL에서 WHERE 절과 HAVING 절의 차이점을 알아보도록 하겠습니다.
WHERE 절
-
특정 조건에 따라 테이블의 레코드를 필터링하는 데 사용됩니다.
-
'GROUP BY'절 없이 사용할 수 있습니다.
-
행 연산과 함께 사용할 수 있습니다.
-
집계 함수를 포함할 수 없습니다.
-
'SELECT', 'UPDATE', 'DELETE' 문과 함께 사용할 수 있습니다.
-
필요한 경우 'GROUP BY'절 앞에 사용됩니다.
-
'UPPER', 'LOWER'와 같은 단일 행 함수와 함께 사용됩니다.
HAVING 조항
-
특정 조건에 따라 그룹에서 레코드를 필터링하는 데 사용됩니다.
-
'GROUP BY'절 없이는 사용할 수 없습니다.
-
열 연산과 함께 작동합니다.
-
집계 함수를 포함할 수 있습니다.
-
'SELECT' 문과만 사용할 수 있습니다.
-
'GROUP BY'절 뒤에 사용합니다.
-
'SUM', 'COUNT'와 같은 여러 행 함수와 함께 사용할 수 있습니다.
다음은 구문입니다:
SELECT column1, column2 FROM table1, table2 WHERE [ conditions ] GROUP BY column1, column2 HAVING [ conditions ] ORDER BY column1, column2