김재호

프로그래머스 SQL 본문

코딩테스트

프로그래머스 SQL

Kimjaeho 2026. 2. 27. 15:22

https://school.programmers.co.kr/learn/courses/30/lessons/59410

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

  1. SELECT ANIMAL_TYPE
  • 동물의 종(예: Dog, Cat 등)을 가져옵니다.
  1. CASE WHEN NAME IS NULL THEN 'No name' ELSE NAME END
  • 조건 분기문인 CASE를 사용해 NAME이 NULL일 때만 "No name"으로 치환합니다.
  • NULL이 아니라면 원래 이름 값을 그대로 보여줍니다.
  1. SEX_UPON_INTAKE
  • 입소 당시 성별/중성화 여부 정보를 가져옵니다.
  1. ORDER BY ANIMAL_ID ASC
  • 동물 ID 기준으로 오름차순 정렬합니다.
  • 출력 순서가 고정되기 때문에 결과 비교/검증이 편해집니다.
 
 

간단한 표준 함수로 더 짧게 쓰는 방법: COALESCE

NULL 치환을 할 때 SQL에서 가장 흔하게 쓰는 표준 함수가 COALESCE입니다.

COALESCE란?

  • COALESCE(a, b, c, ...)는 왼쪽부터 순서대로 검사해서 NULL이 아닌 첫 값을 반환합니다.
  • 즉 NAME이 NULL이면 대체 문자열을 반환하도록 자연스럽게 작성할 수 있습니다.

CASE를 COALESCE로 바꾼 버전

 
SELECT
ANIMAL_TYPE,
COALESCE(NAME, 'No name') AS ANIMAL_NAME,
SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
 

장점

  • 코드가 짧고 읽기 쉽습니다.
  • “NULL이면 대체값”이라는 의도가 함수 하나로 명확해집니다.
  • 여러 DB에서 폭넓게 지원하는 표준 함수라 범용성이 좋습니다.

'코딩테스트' 카테고리의 다른 글

프로그래머스 SQL  (0) 2026.02.27
프로그래머스 SQL  (0) 2026.02.21
프로그래머스 SQL  (0) 2026.02.21
프로그래머스 SQL  (0) 2026.02.21
프로그래머스 SQL  (0) 2026.02.21