Algorithm/Programmers SQL

[MySQL] 프로그래머스 과일로 만든 아이스크림 고르기

제우제우 2024. 9. 6. 17:12

https://school.programmers.co.kr/learn/courses/30/lessons/133025

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

코딩테스트 연습 > SELECT > 과일로 만든 아이스크림 고르기

요구사항 

1. 상반기 아이스크림 총 주문량이 3,000보다 높은 아이스크림 맛 (WHERE) 

2. 아이스크림의 주 성분이 과일 (WHERE) 

3. 아이스크림의 맛을 총 주문량이 큰 순서대로 조회 (ORDER BY) 

 

요구사항의 WHERE절 조건을 보면 2개의 테이블 데이터가 모두 필요하다. 

FIRST_HALF 테이블의 PK는 FLAVOR 

ICECREAM_INFO 테이블의 PK는 FLAVOR이고 FIRST_HALF 테이블의 PK인 FLAVOR를 참조한다.  즉 FK(외래키)이다.

 

두 데이터가 모두 필요하니 조인해서 데이터를 얻어오고 ON절에 조건으로 FLAVOR를 준다. 

그렇게 얻어온 데이터에 WHERE절 조건 2개, ORDER BY 정렬을 적용한다. 

정답 코드 

SELECT F.FLAVOR AS FLAVOR 
FROM FIRST_HALF F JOIN ICECREAM_INFO I
ON F.FLAVOR = I.FLAVOR
WHERE 
F.TOTAL_ORDER >= 3000 AND
I.INGREDIENT_TYPE = 'fruit_based'
ORDER BY 
F.TOTAL_ORDER DESC