더북(TheBook)

Self Check

1 정답

WITH null_check1 AS
(SELECT cases + new_cases_per_million + deaths + icu_patients +
        hosp_patients + tests + reproduction_rate +
        new_vaccinations + stringency_index AS plus_col
   FROM covid19_data
),
null_check2 AS
(SELECT CASE WHEN plus_col IS NULL THEN 'NULL'
             ELSE 'NOT NULL'
        END chk
   FROM null_check1
)
SELECT chk, COUNT(*)
  FROM null_check2
 GROUP BY chk;

실행결과

해설 코드 12-8처럼 null_check1 CTE 서브쿼리의 covid19_data 테이블에서 NULL을 0으로 수정한 모든 칼럼을 더하고 plus_col이란 별칭을 붙입니다. null_check2에서는 CASE 연산자로 plus_col이 NULL인지를 확인합니다. 마지막으로 메인쿼리에서 null_check2를 조회해 확인합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.