방명록
- [MySQL] COALESCE로 NULL 값을 원하는 값으로 바꾸기2024년 01월 05일 16시 44분 34초에 업로드 된 글입니다.작성자: 묭동이
COALESCE 함수
- 테이블의 특정 칼럼에 있는 NULL 값을 특정한 값으로 바꾼다.
- 예시
- NAME 열의 NULL 값을 'Unknown'으로 바꾸기
- COALESCE('NAME', 'Unknown')
프로그래머스에 있는 SQL 문제 예시를 통해 사용법을 익혀보겠습니다
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/59410
문제해석
먼저 테이블은 ANIMAL_INS 하나만 사용하고 있습니다. 테이블에서 조회하는 column은 생물 종, 이름, 성별 및 중성화 여부이며
조회 조건으로 '아이디 순으로 조회'가 제시되었습니다.
또한, NAME column에 NULL 값이 있으면 'No Name'으로 표시하라고 되어있습니다.
예시
출력 예시를 보면 ANIMAL_TYPE이 같을 때 ANIMAL_ID가 오름차순으로 정렬되어있는 것을 확인할 수 있습니다.
"오름차순, 내림차순" 쿼리를 처리할 때는 ORDER BY 를 사용하면 됩니다.
아래 쿼리문에서 보실 수 있듯이 ANIMAL_ID를 기준으로 오름차순으로 정렬하는 방법은 ORDER BY ANIMAL_ID ASC 쿼리를 작성해주시면 됩니다. 오름차순(ASC)이 default이므로 내림차순으로 정렬할 때는 DESC로 적어주시면 됩니다.
또한, NAME 필드의 NULL 값을 'No name'으로 표시하라는 문제의 조건은 COALESCE 함수를 사용하여 처리할 수 있습니다.
COALESCE(NAME, 'No name') 쿼리는 NAME 필드의 NULL 값을 'No name'으로 표시하라는 의미입니다.
SQL 쿼리
SELECT ANIMAL_TYPE, COALESCE(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC;
틀린 부분 댓글로 작성해주시면 감사하겠습니다 😊
다음글이 없습니다.이전글이 없습니다.댓글