TIL(사전캠프)

SQL 코드카타. 경기도에 위치한 식품창고 목록 출력하기(2024-06-12)

note994 2024. 6. 12. 17:32

문제 개요 및 테이블 정보

빨간상자를 주의깊게 살펴보고 하나씩 나아가면 된다.


풀이 및 설명)

나의 풀이

별 문제없이 풀었다. 하지만 빨간박스의 CALESCE() 함수가 무엇인지 알아보자

 

일단 COALESCE 함수는 "냉동시설 여부가 NULL인 경우, 'N'으로 출력" 을 위하여 사용된 부분이다.

 

먼저 COALESCE의 기본 형태를 보자 

이런 형식을 가지고있으며 컬럼1, 컬럼2, 컬럼3, 컬럼4를 순서대로 검사하여 Null이 아닌값을 표시한다. 전부 Null값이면 기본값을 표시한다.

 

넣을 수 있는 컬럼의 개수제한은 없다. 1개를 넣어도 되고 4개 이상 넣어도 된다.

 

이제내가 사용한 COALESCE 함수를 다시 살펴보면

COALESCE(FREEZER_YN, 'N') AS FREEZER_YN

 

FREEZER_YN 컬럼의 값이 Null이면 'N'을 출력하게했다. 만약 값이 있다면 그 값을 출력한다.

 

그리고 AS FREEZER_YN문을 사용한 이유는 생략한다면 출력되는 컬럼의 이름이 COALESCE(FREEZER_YN, 'N') 으로 바뀌어버리기 때문이다.