[프로그래머스 LV.2] ROOT 아이템 구하기 — MySQL 정답 & 해설

2025. 11. 27. 15:25·코딩테스트/MYSQL

🔗 1. 문제 URL

프로그래머스 문제 바로가기 👉
https://school.programmers.co.kr/learn/courses/30/lessons/273710

 

프로그래머스

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

programmers.co.kr

 


 

📝 2. 문제 요구사항 정리

이 문제는 ITEM_INFO 테이블과 ITEM_TREE 테이블을 이용해
부모 아이템이 없는 ROOT 아이템을 조회하는 문제입니다.

업그레이드 관계가 존재할 때,
PARENT_ITEM_ID가 NULL이면 그 아이템은 더 이상 부모가 없는 루트 아이템이 됩니다.

문제의 핵심은 아주 단순합니다.

✔ 요구사항 요약

  • ITEM_TREE에서 PARENT_ITEM_ID가 NULL인 아이템을 찾습니다.
  • 해당 아이템의 ITEM_ID와 ITEM_NAME을 조회합니다.
  • 결과는 ITEM_ID 기준 오름차순으로 정렬합니다.

 


 

✅ 3. 정답 SQL 코드

SELECT I.ITEM_ID, I.ITEM_NAME
FROM ITEM_INFO I JOIN ITEM_TREE T USING (ITEM_ID)
WHERE T.PARENT_ITEM_ID IS NULL
ORDER BY I.ITEM_ID ASC;

 


 

💡 4. 풀이하면서 느낀 점

이전에 포스팅했던
https://hi-bluebird.tistory.com/2
업그레이드 된 아이템 구하기 문제보다 사실 이 문제를 먼저 풀었어야 했다는 생각이 들었습니다.

 

문제 자체는 굉장히 기본적인 구조였고,
JOIN과 IS NULL의 조합을 정확히 알고 있는지만 확인하면 되는 유형이었습니다.

 

특히,
PARENT_ITEM_ID = NULL
처럼 잘못된 NULL 비교를 하고 있지 않은지 한 번 더 점검할 필요가 있습니다.


SQL에서 NULL 비교는 항상 IS NULL / IS NOT NULL을 사용한다는 기본기를 다시 상기하게 해준 문제였습니다

 

궁금하신 점이나 포스팅에 대한 피드백이 있다면 댓글로 편하게 남겨주세요.
도움이 되셨다면 공감이나 댓글 한 줄 남겨주시면 포스팅을 이어가는 데 큰 힘이 됩니다. 😊

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

[프로그래머스 LV.2] 성분으로 구분한 아이스크림 총 주문량 — MySQL 정답 & 해설  (0) 2025.12.01
[프로그래머스 LV.2] 조건에 맞는 도서와 저자 리스트 출력하기 — MySQL 정답 & 해설  (3) 2025.11.29
[프로그래머스 LV.2] 조건에 맞는 사원 정보 조회하기 — MySQL 정답 & 해설  (0) 2025.11.29
[프로그래머스 LV.2] 업그레이드 된 아이템 구하기 — MySQL 정답 & 해설  (0) 2025.11.21
[프로그래머스 LV.2] 노선별 평균 역 사이 거리 조회하기 — MySQL 정답 & 해설  (0) 2025.11.20
'코딩테스트/MYSQL' 카테고리의 다른 글
  • [프로그래머스 LV.2] 조건에 맞는 도서와 저자 리스트 출력하기 — MySQL 정답 & 해설
  • [프로그래머스 LV.2] 조건에 맞는 사원 정보 조회하기 — MySQL 정답 & 해설
  • [프로그래머스 LV.2] 업그레이드 된 아이템 구하기 — MySQL 정답 & 해설
  • [프로그래머스 LV.2] 노선별 평균 역 사이 거리 조회하기 — MySQL 정답 & 해설
작지만 꾸준한 성장으로
작지만 꾸준한 성장으로
contact
  • 작지만 꾸준한 성장으로
    파랑새
    작지만 꾸준한 성장으로
  • 전체
    오늘
    어제
    • 분류 전체보기 (26)
      • IT (3)
      • 코딩테스트 (23)
        • 알고리즘 (12)
        • MYSQL (11)
      • 패션 (0)
      • 독후감 (0)
      • TIL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    CPU Bound
    데이터베이스
    알고리즘
    파이썬코테
    코테
    sql 코딩테스트
    wide format
    자바
    프로그래머스 lv.1
    공공데이터 전처리
    와이드 포맷 롱 포맷
    프로그래머스 lv.2
    코딩테스트
    Pandas groupby agg
    프로그래머스
    Pandas melt
    프로그래머스 lv.0
    모델 추론
    파이썬
    SWEA
    백준
    I/O Bound
    Programmers
    python3
    데이터 리모델링
    long format
    Python
    데이터 전처리 파이프라인
    mysql
    Pandas pivot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
작지만 꾸준한 성장으로
[프로그래머스 LV.2] ROOT 아이템 구하기 — MySQL 정답 & 해설
상단으로

티스토리툴바