SQL/MY SQL 문제 풀이(프로그래머스)

[MYSQL] PROGRAMMERS_과일로 만든 아이스크림 고르기

몽총한몽이네 2024. 2. 21. 00:47
반응형

 

SELECT a.FLAVOR
FROM FIRST_HALF as a,ICECREAM_INFO as b
WHERE a.FLAVOR =b.FLAVOR
AND a.TOTAL_ORDER >3000
AND b.INGREDIENT_TYPE = 'fruit_based'
ORDER BY TOTAL_ORDER desc

 

문제

상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성

 

FIRST_HALF 테이블 a

SHIPMENT_ID FLAVOR TOTAL_ORDER

 

ICECREAM_INFO 테이블 b

FLAVOR INGREDIENT_TYPE

 

위 두개로 구성 된 테이블이 주어져 있다.

데이터를 조회 하기 위해서는 두 테이블을 조인 처리 하여 처리 해야 하는데

양 테이블 공통으로 있는 데이터만 값이 처리 가능하므로 inner join 처리를 해야한다 판단 하였다.

 

inner join

조인의 기준이 되는 컬럼은 공통 컬럼인 FLAVOR 밖에 없으므로 해당 컬럼을 기준으로 조인 처리를 해준다.

(FROM 절에 컬럼,컬럼 으로 적을 경우 기본적으로 inner join 처리가 된다)

 

각각 테이블명을 임시로 a, b 로 alias 처리를 하고 해당 테이블에 존재하는 컬럼에 맞게 a.테이블명,b.테이블 명 처리를 통해 >3000 인 데이터와 fruit_based 인 데이터를 필터 처리하여 데이터를 추출 하였다.

반응형