본문 바로가기

SQL/[HackerRank]

[HackerRank/MySQL] Ollivander's Inventory

728x90

< Problem >

is_evil 값이 0이면서 높은 power와 age값을 가지는 지팡이의 최소 가격 구하기

링크:  https://www.hackerrank.com/challenges/harry-potter-and-wands/problem

 

Ollivander's Inventory | HackerRank

Help pick out Ron's new wand.

www.hackerrank.com


< Code >

SELECT w.id, p.age, w.coins_needed, w.power
FROM wands w JOIN wands_property p ON w.code = p.code
WHERE p.is_evil = 0 AND w.coins_needed = (SELECT MIN(coins_needed)
                                          FROM wands w1 JOIN wands_property p1
                                          ON w1.code = p1.code
                                          WHERE p1.age = p.age and w1.power = w.power)
ORDER BY w.power DESC, p.age DESC

 

< Lesson & Learned >

SELECT: 키워드와 함께 검색하고 싶은 속성의 이름을 나열
FROM: 키워드와 함께 검색하고 싶은 속성이 있는 데이블의 이름을 나열

JOIN ON: 추가예정
WHERE: 키워드와 함께 비교 연산자(=, <, >=, <>)와 논리 연산자(AND, OR, NOT)를 이용한 검색 조건 제시
MIN( ): 속성 값의 최솟값을 검색하기 위한 집계함수
ORDER BY: 결과 테이블 내용을 원하는 순서로 출력. 오름차순(기본): ASC, 내림차순: DESC

728x90