데이터 분석

흐름을 읽고
인사이트를 만든다.

3.프로그래머스 SQL lv2 (중복제거하기)

2026. 5. 3. 16:06프로그래머스 SQL

문제설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

 

문제 해결 과정

1.몇 개인지 개수를 세야하니까 COUNT문 사용

2.NULL은 집계하지않으니까 NULL 제외

3. 중복은 하나로 친다. (중복 제거)  -- COUNT(DISTINCT 컬럼) 사용

 

출제한 답변

 

 

WHERE NAME IS NOT NULL 조건을 따로 쓰지 않은 이유는 COUNT(컬럼명) 방식은 애초에 NULL 을 세지 않기 때문이다.