Problem Solving/프로그래머스

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

LeeJaeJun 2024. 2. 20. 19:48
728x90
반응형

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

 

프로그래머스

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

programmers.co.kr

정답 코드
SELECT FIRST_HALF.FLAVOR FROM FIRST_HALF JOIN ICECREAM_INFO ON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR
WHERE TOTAL_ORDER > 3000 AND INGREDIENT_TYPE = 'fruit_based'
ORDER BY TOTAL_ORDER DESC
SELECT FIRST_HALF.FLAVOR
FROM FIRST_HALF, ICECREAM_INFO
WHERE TOTAL_ORDER > 3000
AND INGREDIENT_TYPE = 'fruit_based'
AND FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR
ORDER BY TOTAL_ORDER DESC;

# 약어 만들때 테이블 각각 as를 붙여서 쓰던가 그냥 한칸 띄고 쓰면 된다
SELECT FH.FLAVOR
FROM FIRST_HALF FH, ICECREAM_INFO II
WHERE TOTAL_ORDER > 3000
AND INGREDIENT_TYPE = 'fruit_based'
AND FH.FLAVOR = II.FLAVOR
ORDER BY TOTAL_ORDER DESC;
  1. INNER JOIN:
    • INNER JOIN은 두 테이블 간의 일치하는 행만을 반환합니다. 즉, 조인 조건을 충족하는 행만 선택됩니다. INNER JOIN은 가장 일반적으로 사용되는 JOIN 유형입니다.
  2. LEFT JOIN (또는 LEFT OUTER JOIN):
    • LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 반환합니다. 일치하는 행이 없는 경우에도 왼쪽 테이블의 행은 반환됩니다. 오른쪽 테이블의 열은 NULL로 채워집니다.
  3. RIGHT JOIN (또는 RIGHT OUTER JOIN):
    • RIGHT JOIN은 LEFT JOIN과 유사하지만 오른쪽 테이블의 모든 행과 왼쪽 테이블에서 일치하는 행을 반환합니다. 일치하는 행이 없는 경우에도 오른쪽 테이블의 행은 반환됩니다. 왼쪽 테이블의 열은 NULL로 채워집니다.
  4. FULL JOIN (또는 FULL OUTER JOIN):
    • FULL JOIN은 두 테이블 간의 모든 행을 반환합니다. 즉, LEFT JOIN과 RIGHT JOIN의 결과를 합친 것과 같습니다. 일치하는 행이 없는 경우에도 각 테이블의 행은 반환되며, 일치하지 않는 행의 경우 NULL로 채워집니다.

 

위 코드의 형식에서 JOIN에 INNER, LEFT, RIGHT, FULL이라는 것을 붙여주면 해당하는 JOIN이 됩니다.

그냥 JOIN을 쓰면 일반적으로는 INNER JOIN입니다.

728x90
반응형