[SQL] 프로그래머스 SQL 고득점 Kit_IS NULL

餘園·2025년 1월 13일

SQL 고득점 Kit

목록 보기
109/109
post-thumbnail

경기도에 위치한 식품창고 목록 출력하기

테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회, 냉동시설 여부가 NULL이면 'N', ID 기준 오름차순

--SQL문
SELECT ID, NAME, ADDRESS, COALESCE(FREEZER_YN, 'N')
	FROM TABLE
    WHERE ADDRESS LIKE '경기도%'
    ORDER BY ID ASC
  • 주의할 점 :
    • COALESCE( )를 기억한다면 아주 쉬운 문제!

이름이 없는 동물의 아이디

이름이 없는 채로 들어온 동물의 ID 오름차순 조회

--SQL문
SELECT ID
	FROM TABLE
    WHERE NAME IS NULL
    ORDER BY ID ASC

이름이 있는 동물의 아이디

이름이 있는 동물의 ID 오름차순 조회

--SQL문
SELECT ID
	FROM TABLE 
    WHERE NAME IS NOT NULL
    ORDER BY ID ASC
  • 주의할 점 :
    • IS NULL 사이에 NOT만 넣어주면 됨!

NULL 처리하기

동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회, 이름이 없는 동물의 이름은 "No name"으로 표시하기

--SQL문
SELECT TYPE, COALESCE(NAME, "No name"), SEX_UPON_INTAKE
	FROM TABLE
    ORDER BY ID ASC

나이 정보가 없는 회원 수 구하기

테이블에서 나이 정보가 없는 회원이 몇 명인지 출력, 컬럼명은 USERS로 지정

--SQL문
SELECT COUNT(*)
	AS USERS
    FROM USER_INFO
    WHERE AGE IS NULL

잡은 물고기의 평균 길이 구하기

잡은 물고기의 평균 길이 출력, 컬럼명은 AVERAGE_LENGTH로 지정, 소수점 3째자리에서 반올림하고, 10cm 이하는 10cm로 취급하여 평균 구하기 (10cm 이하의 물고기는 NULL로 표시되어 있음)

--SQL문
SELECT ROUND(AVG(COALESCE(LENGTH,10)),2)
	AS AVERAGE_LENGTH
    FROM FISH_INFO

ROOT 아이템 구하기

ROOT 아이템 찾아 ID, 이름을 출력, ID 기준 오름차순

--SQL문
SELECT info.ID, info.NAME
	FROM ITEM_INFO info
    JOIN ITME_TREE tree
    ON info.ID = tree.ID
    WHERE tree.PARENT_ID IS NULL
    ORDER BY info.ID ASC

업그레이드 할 수 없는 아이템 구하기

더 이상 업그레이드할 수 없는 아이템의 ID, 이름, 희귀도 출ch력, ID 기준 내림차순 정렬

--SQL문
SELECT info.ID, info.NAME, info.RARITY
	FROM ITEM_INFO info
    LEFT JOIN ITEM_TREE tree
    ON info.ID = tree.PARENT_ID
    WHERE tree.PARENT_ID IS NULL
    ORDER BY info.ID DESC
  • 주의할 점 :
    • ON에서 PARENT_ID랑 연결해야 IS NULL로 찾을 수 있음
profile
What else can I do

0개의 댓글