728x90
문제링크
https://school.programmers.co.kr/learn/courses/30/lessons/131114
GIT [ github.com ]
문제설명
다음은 식품창고의 정보를 담은 FOOD_WAREHOUSE테이블입니다.
FOOD_WAREHOUSE테이블은 다음과 같으며 WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, TLNO, FREEZER_YN는 창고 ID, 창고 이름, 창고 주소, 전화번호, 냉동시설 여부를 의미합니다.
문제
FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.
풀이
이문제를 분석을하면 아래처럼 분석이 됩니다.
1. 경기도의 창고
2. NULL일경우엔 N로 출력 -> NVL 함수(혹은 NVL2함수이용)
3. 창고ID기준으로 오름차순
분석한 기준대로 SQL을 작성을하면
SELECT WAREHOUSE_ID
, WAREHOUSE_NAME
, ADDRESS
, NVL(FREEZER_YN,'N') AS FREEZER_YN -- null 값을 N로 분류 (2)
FROM FOOD_WAREHOUSE
WHERE WAREHOUSE_NAME LIKE '%경기%' -- 경기 창고구분 (1)
ORDER BY WAREHOUSE_ID ASC; -- 창고ID 기준으로 오름차순(3)
들어간 메소드 정리
NVL(데이터,대체값) : 데이터가 null일경우 대체값으로 변환
NVL2(데이터,데이터2(값),대체값) : 데이터가 Null이 아니면 데이터2(값)으로 Null이면 대체값으로 변환
728x90
'==4. 프로그래머스 & 코테문제== > SQL 문제 풀이' 카테고리의 다른 글
[MYSQL/프로그래머스 LV.5] SELECT/멸종위기의 대장균 찾기 (0) | 2024.10.02 |
---|---|
[Oracle/프로그래머스 LV.5]상품을 구매한 회원 비율 구하기 (0) | 2024.07.27 |
[Oracle/프로그래머스 LV.3] 카테고리 별 도서 판매량 집계하기 (0) | 2024.07.27 |
[Oracle/프로그래머스 LV.1] 가장 비싼 상품 구하기 (0) | 2024.07.22 |
[Oracle&mysql/프로그래머스 LV1] SELECT/재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2024.07.20 |
댓글