inblog logo
|
moohyun
    SQL문제풀기

    [SQL 문제 풀기] 업그레이드 된 아이템 구하기

    화낼거양's avatar
    화낼거양
    Nov 28, 2024
    [SQL 문제 풀기] 업그레이드 된 아이템 구하기
    Contents
    문제정답
     
     
    출처 : https://school.programmers.co.kr/learn/courses/30/lessons/273711
     

    문제

    notion image
    notion image
     
     

    정답

     
     
    SELECT A.ITEM_ID, ITEM_NAME, RARITY FROM ITEM_INFO AS A JOIN ITEM_TREE AS B ON A.ITEM_ID = B.ITEM_ID WHERE B.PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO WHERE RARITY = 'RARE') ORDER BY A.ITEM_ID DESC;
     
     
     

    쿼리 설명

     
    1. SELECT 절:
      1.  
        SELECT A.ITEM_ID, ITEM_NAME, RARITY
         
        • ITEM_INFO 테이블에서 ITEM_ID, ITEM_NAME, RARITY 열을 선택합니다.
        • 여기서 ITEM_NAME과 RARITY는 테이블 A (ITEM_INFO)에서 가져온 열입니다.
    1. FROM 절 및 JOIN:
      1.  
        FROM ITEM_INFO AS A JOIN ITEM_TREE AS B ON A.ITEM_ID = B.ITEM_ID
         
        • ITEM_INFO 테이블을 A로, ITEM_TREE 테이블을 B로 별칭을 지정합니다.
        • A.ITEM_ID와 B.ITEM_ID가 같은 레코드를 조인합니다. 즉, ITEM_INFO 테이블과 ITEM_TREE 테이블의 ITEM_ID가 일치하는 행을 결합합니다.
    1. WHERE 절:
      1.  
        WHERE B.PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO WHERE RARITY = 'RARE')
         
        • 서브쿼리를 통해 ITEM_INFO 테이블에서 RARITY 값이 'RARE'인 행들의 ITEM_ID를 선택합니다.
        • 그런 다음, B.PARENT_ITEM_ID가 이 서브쿼리 결과에 포함되는 행만 선택합니다. 즉, PARENT_ITEM_ID가 'RARE' 등급의 아이템인 행들을 조회합니다.
    1. ORDER BY 절:
      1.  
        ORDER BY A.ITEM_ID DESC
         
        • A.ITEM_ID를 기준으로 내림차순으로 정렬하여 결과를 반환합니다.
     
    Share article
    Contents
    문제정답

    moohyun

    RSS·Powered by Inblog