반응형
https://programmers.co.kr/learn/courses/30/lessons/59044
[ 문제풀이 ]
두 개의 테이블이 주어졌을 때 JOIN을 사용해서 투 테이블을 조합할 수 있는지를 묻는 문제이다.
JOIN을 할 때 조심해야 할 점은 ON과 WHERE의 차이이다. 둘 다 조건을 통해 걸러 내주는 역할을 수행하지만 조건이 적용되는 시점의 차이가 존재한다.
SELECT I.NAME, I.DATETIME
FROM ANIMAL_INS AS I
LEFT OUTER JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE O.ANIMAL_ID IS NULL
ORDER BY I.DATETIME ASC
LIMIT 3;
/*
* JOIN은 1.ON, 2.WHERE 순서로 걸러냄
* 만약 ON I.ANIMAL_ID = O.ANIMAL_ID AND O.ANIMAL_ID IS NULL로 하면
* 두 조건에 걸러지는 테이블이 나오기때문에 다른 결과를 도출
*/
반응형
'Problem Solving > 프로그래머스 SQL' 카테고리의 다른 글
[프로그래머스 SQL] 루시와 엘라 찾기 (0) | 2021.08.11 |
---|---|
[프로그래머스 SQL] 보호소에서 중성화한 동물 (0) | 2021.08.11 |
[프로그래머스 SQL] 있었는데요 없었습니다 (0) | 2021.08.10 |
[프로그래머스 SQL] 없어진 기록 찾기 (0) | 2021.08.10 |
[프로그래머스 SQL] NULL 처리하기 (0) | 2021.08.10 |
댓글