본문 바로가기
Programming/SQL

[프로그래머스] 업그레이드 된 아이템 구하기

by 왕밤빵도라에몽 2025. 4. 30.
728x90
SELECT
    *
    # info.ITEM_ID,
    # info.ITEM_NAME,
    # info.RARITY
FROM ITEM_INFO AS info
# JOIN ITEM_TREE AS tree
#     ON info.ITEM_ID = tree.ITEM_ID
# JOIN ITEM_INFO AS parent
#     ON tree.PARENT_ITEM_ID = parent.ITEM_ID
# WHERE parent.RARITY = 'RARE'
# ORDER BY info.ITEM_ID DESC

SELECT
    *
    # info.ITEM_ID,
    # info.ITEM_NAME,
    # info.RARITY
FROM ITEM_INFO AS info
JOIN ITEM_TREE AS tree
    ON info.ITEM_ID = tree.ITEM_ID
# JOIN ITEM_INFO AS parent
#     ON tree.PARENT_ITEM_ID = parent.ITEM_ID
# WHERE parent.RARITY = 'RARE'
# ORDER BY info.ITEM_ID DESC

SELECT
    *
    # info.ITEM_ID,
    # info.ITEM_NAME,
    # info.RARITY
FROM ITEM_INFO AS info
JOIN ITEM_TREE AS tree
    ON info.ITEM_ID = tree.ITEM_ID
JOIN ITEM_INFO AS parent
    ON tree.PARENT_ITEM_ID = parent.ITEM_ID
# WHERE parent.RARITY = 'RARE'
# ORDER BY info.ITEM_ID DESC

 

  • 여기서 tree.PARENT_ITEM_ID와 parent.ITEM_ID는 컬럼명은 다르지만, 둘의 값이 같을 때 매칭돼서 조인이 이루어진다
  • PARENT_ITEM_ID에 들어 있는 값은 실제 부모 아이템의 ID이고, 그걸 ITEM_INFO에서 찾는 것

 

SELECT
    *
    # info.ITEM_ID,
    # info.ITEM_NAME,
    # info.RARITY
FROM ITEM_INFO AS info
JOIN ITEM_TREE AS tree
    ON info.ITEM_ID = tree.ITEM_ID
JOIN ITEM_INFO AS parent
    ON tree.PARENT_ITEM_ID = parent.ITEM_ID
WHERE parent.RARITY = 'RARE'
# ORDER BY info.ITEM_ID DESC

SELECT
    info.ITEM_ID,
    info.ITEM_NAME,
    info.RARITY
FROM ITEM_INFO AS info
JOIN ITEM_TREE AS tree
    ON info.ITEM_ID = tree.ITEM_ID
JOIN ITEM_INFO AS parent
    ON tree.PARENT_ITEM_ID = parent.ITEM_ID
WHERE parent.RARITY = 'RARE'
ORDER BY info.ITEM_ID DESC

난는...SQL이 너무 어렵다...

 

728x90