목차
개요
풀이
기본키와 외래키에 대한 설명이 나온다.
그걸로 JOIN하라고 편하게 알려주니까 좋다.
여러 테이블을 하나의 테이블처럼 사용하는 조인 — 데이터를 요리조리 (tistory.com)
검색하면서 알게 되었는데 SQL99에서 JOIN 구문이 처음 등장한 모양이다.
그 이전까지는 그냥 FROM에서 두 테이블을 불러오고 WHERE에서 키에 해당하는 부분을 맞추는 방식으로 테이블을 합쳐 사용했다는 듯.
JOIN 역시 기본적으로는 그런 식으로 작동을 하는 모양이다.
보면 두 테이블의 FLAVOR가 전부 찍히는 것을 확인할 수 있다.
WHERE 문으로 해도 똑같이 작동한다. 문제를 풀고 나서 다른 풀이들을 보는데 이런 식으로 쓰는 사람들이 많아서 처음에 무엇인가 했는데, 나는 개인적으로 JOIN으로 명시를 하는 것이 직관적이라고 생각한다.
코드
SELECT A.FLAVOR
FROM FIRST_HALF A
JOIN ICECREAM_INFO B
ON A.FLAVOR = B.FLAVOR
WHERE
A.TOTAL_ORDER > 3000
AND B.INGREDIENT_TYPE = 'FRUIT_BASED'
ORDER BY A.TOTAL_ORDER DESC
;
근데 이거 들여쓰기를 어떻게 써야 하는지 아직 잘 감이 오지 않는다;;
JOIN은 FROM에 대해서 한다고 보는 게 맞지 않을까 싶긴 하다.
JOIN의 위치를 FROM에서 떼어놨을 때 발생하는 에러. 애초에 SELECT 문을 쓸 때 각 절의 순서를 지켜줘야 하니 그것 때문에라도 에러가 난 것이겠지만, 사실 JOIN 자체가 SELECT에 직접적으로 쓰이는 절이 아닌 것으로 알고 있다.
앞으로는 FROM의 하위로 들여쓰기 해서 걸어주는 걸로 하자.
'알고리즘 > 프로그래머스 풀이' 카테고리의 다른 글
[프로그래머스] 인기있는 아이스크림 (MySQL) (0) | 2023.02.19 |
---|---|
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 (MySQL) (0) | 2023.02.19 |
[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 (MySQL) (0) | 2023.02.18 |
[프로그래머스] 12세 이하인 여자 환자 목록 출력하기 (MySQL) (0) | 2023.02.18 |
[프로그래머스] 강원도에 위치한 생산공장 목록 출력하기 (MySQL) (0) | 2023.02.18 |