728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/133025
정답 코드
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;
- INNER JOIN:
- INNER JOIN은 두 테이블 간의 일치하는 행만을 반환합니다. 즉, 조인 조건을 충족하는 행만 선택됩니다. INNER JOIN은 가장 일반적으로 사용되는 JOIN 유형입니다.
- LEFT JOIN (또는 LEFT OUTER JOIN):
- LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 반환합니다. 일치하는 행이 없는 경우에도 왼쪽 테이블의 행은 반환됩니다. 오른쪽 테이블의 열은 NULL로 채워집니다.
- RIGHT JOIN (또는 RIGHT OUTER JOIN):
- RIGHT JOIN은 LEFT JOIN과 유사하지만 오른쪽 테이블의 모든 행과 왼쪽 테이블에서 일치하는 행을 반환합니다. 일치하는 행이 없는 경우에도 오른쪽 테이블의 행은 반환됩니다. 왼쪽 테이블의 열은 NULL로 채워집니다.
- FULL JOIN (또는 FULL OUTER JOIN):
- FULL JOIN은 두 테이블 간의 모든 행을 반환합니다. 즉, LEFT JOIN과 RIGHT JOIN의 결과를 합친 것과 같습니다. 일치하는 행이 없는 경우에도 각 테이블의 행은 반환되며, 일치하지 않는 행의 경우 NULL로 채워집니다.
위 코드의 형식에서 JOIN에 INNER, LEFT, RIGHT, FULL이라는 것을 붙여주면 해당하는 JOIN이 됩니다.
그냥 JOIN을 쓰면 일반적으로는 INNER JOIN입니다.
728x90
반응형
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[MySQL] 프로그래머스 144853. 조건에 맞는 도서 리스트 출력하기 (0) | 2024.02.20 |
---|---|
[MySQL] 프로그래머스 131112. 강원도에 위치한 생산공장 목록 출력하기 (0) | 2024.02.20 |
[MySQL] 프로그래머스 132203. 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2024.02.20 |
[MySQL] 프로그래머스 131120. 3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.02.20 |
[MySQL] 프로그래머스 132201. 12세 이하인 여자 환자 목록 출력하기 (0) | 2024.02.20 |