본문 바로가기
DBMS

[프로그래머스 SQL] Lv. 1 과일로 만든 아이스크림 고르기

by floral1215 2025. 2. 28.
반응형

※ 문제

 

※ 코드

-- 코드를 입력하세요
SELECT DISTINCT F.FLAVOR
FROM            (SELECT * FROM FIRST_HALF WHERE TOTAL_ORDER > 3000 ORDER BY TOTAL_ORDER DESC) F, ICECREAM_INFO I
WHERE           F.FLAVOR = I.FLAVOR AND I.INGREDIENT_TYPE = 'fruit_based';
-- 코드를 입력하세요
SELECT DISTINCT *
FROM            (SELECT     F.FLAVOR
                 FROM       FIRST_HALF F INNER 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);

※ 풀이

위와 같이 JOIN 연산 없이 풀 수도 있고, 아래와 같이 JOIN 연산을 활용하여 풀 수도 있습니다.

 

위 코드의 F.FLAVOR = I.FLAVOR가 결국 JOIN 연산의 ON 조건과 같기 때문에 연산 자체는 동일합니다.

 

그러므로 편한 방식으로 활용해 주시면 될 것 같습니다.

 

JOIN 연산을 쓰는 게 더 깔끔하니 좋긴 한데 좀 복잡해지니까 그냥 FROM 절 안의 이중 SELECT 부분에서 미리 연산을 다 마친 FLAVOR만 뽑는 게 가장 편리합니다.

반응형