[Oracle] 오라클 SUM(1) 사용하는 이유
- 데이터베이스/오라클
- 2021. 12. 29.
오라클 쿼리문을 보다 보면 이해하기 힘든 쿼리 형태를 발견하는 경우가 많다. SUM(1) 또한 처음 봤을때는 어떤 의미가 있는지 궁금한 적이 있다. SUM(1)은 잘못된 사용법은 아니며 상황에 따라서 한 두 번은 사용할 수도 있는 문법이다. 그러나 잘못된 사용은 쿼리문을 복잡하게 만들 수 있다.
SUM(1)은 COUNT(*)와 동일하게 조회된 행의 건수를 집계할 때 사용한다. 그러나 조회된 데이터가 없을때 반환 값이 다르니 이점을 유의해야 하며 상황에 따라서 필요한 방식을 사용하면 된다.
SELECT SUM(1)
FROM emp
SUM(1)과 COUNT(*) 모두 동일하게 조회된 데이터 건수를 반환한다.
단순히 데이터 건수를 집계할때는 COUNT(*)를 사용할 것을 권장한다.
COUNT(*)를 사용하면 쿼리문이 어떤 역할을 하는지 조금 더 빨리 파악을 할 수 있다.
SUM(1)과 COUNT(*) 사용했을 경우 데이터가 없을 때 SUM(1)은 NULL을 반환하고 COUNT(*)는 0을 반환한다.
조회된 데이터가 없을 경우 NULL을 반환받기 원한다면 SUM(1)을 사용하는 것도 효율적이다.