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 을 세지 않기 때문이다.
'프로그래머스 SQL' 카테고리의 다른 글
| 6. 프로그래머스 SQL lv.3 ( 조건에 맞는 사용자와 총 거래금액 조회하기 ) (0) | 2026.05.08 |
|---|---|
| 5.프로그래머스 SQL lv2.5 (다양한 음식을 즐긴 미식가 찾기 ai생성문제) (0) | 2026.05.04 |
| 4.프로그래머스 SQL lv3 (조건에 맞는 사용자 정보 조회하기) (0) | 2026.05.03 |
| 2.프로그래머스 SQL lv2 (재구매가 일어난 상품과 회원 리스트 구하기) (0) | 2026.04.28 |
| 1.프로그래머스 SQL lv.3 (자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기) (0) | 2026.04.27 |