작성일자 : 2023-11-09
Ver 0.1.1
1. Intro
조회하는 쿼리의 행 건수에 대한 정보를 알고 싶을 때는 어떻게 해야할까?
나는 그동안 주로 COUNT(1)을 사용해왔다.
COUNT(1) 외에도 조회 쿼리 행 건수를 알 수 있는 방법이 있는데, 그 방법은 바로 SUM(1)을 이용하는 것이다.
2. SUM(1) 과 COUNT(1)
앞서 언급한대로 SUM(1)과 COUNT(1)은 둘다 조회된 행의 건수를 집계할 때 사용한다.
그렇지만 이 둘간에 크다고 하면 클 수 있는 차이점이 하나가 있는데, 조회된 데이터가 없을때 OUTPUT이 다르다는 점이다.
이에 결과가 다르다는 것을 유의해야 하며 상황에 따라서 필요한 방식을 사용해야 한다.
아래 예제는 조회되는 행이 존재 할 때 COUNT(1)과 SUM(1)의 결과이다.
SELECT COUNT(1)
,SUM(1)
FROM SCOTT.EMP
WHERE SAL < 5000;
위 경우 결과는 동일하다.
데이터가 없을 경우에 대한 결과값은 아래와 같이 다르다.
SELECT COUNT(1)
,SUM(1)
FROM SCOTT.EMP
WHERE SAL > 6000;
COUNT(1)는 0을 반환, SUM(1)은 '-' 또는 NULL을 반환한다.
상황에 따라 조회된 데이터가 없을 경우 '-' 또는 NULL을 반환받기 원한다면, SUM(1)을 사용하면 될것이다.