본문 바로가기
프로그래밍/SQL

[SQL 고득점 kit - SELECT] 과일로 만든 아이스크림 고르기 문풀/ 2개의 테이블 사용하기 (JOIN / ON / USING)

by hi-rachel 2023. 1. 5.

계속 하나의 테이블만 나오다가 처음 두개의 테이블을 이용하는 문제를 만났다.

자세한 문제 사항은 프로그래머스에서 확인하고 직접 풀어보자!

 

<2개의 테이블을 이용해 문제 푸는 방법>

FIRST_HALF TABLE
ICECREAM_INFO TABLE

 

이런식으로 FLAVOR Column이 겹치는 테이블 2개가 있을 때 

SELECT FLAVOR
FROM FIRST_HALF
JOIN ICECREAM_INFO
USING (FLAVOR)
WHERE TOTAL_ORDER > 3000 AND INGREDIENT_TYPE = 'fruit_based'
ORDER BY TOTAL_ORDER DESC;

JOIN, USING을 이용해 풀 수 있다. USING () 괄호 안에 적어주지 않으면 오류가 난다.

--- USING은 table 간 같은 column을 공유할 때(같은 column명) 사용하기 유용하다.

 

JOIN

JOIN 절(clause)은 두 개 이상의 테이블 사이의 관련 열(column)을 기반으로 행(rows)을 결합하는 데 사용된다.

 

SELECT a.FLAVOR
FROM FIRST_HALF as a
JOIN ICECREAM_INFO as b
ON a.FLAVOR = b.FLAVOR
WHERE TOTAL_ORDER > 3000 AND b.INGREDIENT_TYPE = 'fruit_based'
ORDER BY TOTAL_ORDER DESC;

ON 조건을 적어줄 수도 있다.

--- ON + 열(Column), 열 집합, 조건을 적을 수 있다.

 

▶ ORDER BY

기본적으로 오름차순으로 정렬한다. ASC

내림차순으로 정렬하려면 DESC를 꼭 명시해줘야 한다.

 

참고 사이트

프로그래머스

SQL Cheat Sheet

MySQL JOIN ON vs USING?