반응형

문제 설명
다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다.
USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요.
문제 풀이
USER_INFO 테이블에서 2021년도에 가입한 (JOINED 컬럼 참고) 데이터를 찾고,
20살부터 29살 사이의 사람만 나오도록 조건문을 작성한다.
문제 해답
SELECT COUNT(*)
FROM USER_INFO
WHERE TO_CHAR(JOINED, 'YYYY') = '2021'
AND AGE BETWEEN 20 AND 29
AND AGE IS NOT NULL -- 해당 라인은 삭제
위의 코드에서 'AND AGE IS NOT NULL'은 사실상 죽은 코드이다.
AGE가 20~29사이인 값들만 나오도록 작성하였으므로 당연히 비어있는 값은 나올 수가 없다.
이 풀이를 보는 여러분들은 앞으로 문제를 풀면서도, 실무에서도 이런 실수 하지 않도록 주의하셔야 합니다!
끗!
반응형