과일로 만든 아이스크림 고르기의 문제는 다음과 같다.





이번 문제는 테이블 2개를 묶어
결과를 출력해야하기에
JOIN이 필수적으로 쓰일 수 밖에 없다.
우선 이번 문제를 풀기 위해선
1. 아이스크림 맛 출력
2. 총 주문량이 3000보다 높은 아이스크림 맛 출력
3. 1번을 만족시키면서 주 성분이 과일인 아이스크림 맛 출력
4. 총 주문량이 큰 순서대로 정렬
의 순으로 접근해야한다.
단순히 아이스크림 맛만을 출력시키는 것이라면
두 테이블을 조인시킬 필요가 없으나,
두 테이블의 정보값을 모두 가져와야만
해당 문제에서 원하는 아이스크림 맛을 출력할 수 있기 때문에
우선적으로 조인을 먼저 해주어야 한다.
편의를 위해FIRST_HALF 테이블을 A로,
ICECREAM_INFO 테이블은 B로 약칭 지어주겠다.
FIRST_HALF 테이블의 FLAVOR이 기본키이며,
ICECREAM_INFO 테이블의 FLAVOR이 외래키이니
조인은 다음과 같은 형태가 된다.

조인을 통해 FIRST_HALF 테이블과
ICECREAM_INFO의 값을 모두 가지고 있는
하나의 테이블이 생성되었다.
따라서 이전에 풀었던
하나의 테이블에서 특정 조건을 가진 값들을
출력시켜주었던 것처럼 문제를 풀어주면 된다.
이제 출력 조건을 걸어주겠다.
우선 총 주문량이 3000보다 높은 아이스크림 맛이
출력되도록 만들어주겠다.

그런 다음 주 성분이 과일인 맛이 출력되도록 해주겠다.
문제에선 총 주문량이 3000을 넘기며,
주 성분이 과일인 아이스크림 맛을 출력시켜달라고 했으니
두 WHERE절은 AND 연산자를 통해 연결된다.

이제 마지막으로 총 주문량을 기준으로 내림차순 정렬을 해주겠다.

정답인지 확인해보겠다.

정답이다.
'DB > 문제풀이' 카테고리의 다른 글
| [프로그래머스] 고양이와 개는 몇마리 있을까 -LV.2 (0) | 2022.12.29 |
|---|---|
| [프로그래머스] 최솟값 구하기 -LV.2 (0) | 2022.12.28 |
| [프로그래머스] 조건에 맞는 도서 리스트 출력하기- LV.1 (0) | 2022.12.26 |
| [프로그래머스] 인기있는 아이스크림 -LV.1 (0) | 2022.12.23 |
| [프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 -LV.1 (0) | 2022.12.21 |