거의 일주일만에 돌아온 코테
SQL 집중 기간이라 SQL로 돌아옴
나간 기록은 있는데 들어온 기록이 없다
=> outs에 ins를 붙여야겠다는 생각이 먼저 들었다
left join을 썼다
=> outs에 있고 ins에 없는걸 null로 합쳐질 수 있도록!
그리고 is null인걸로 걸러내기 완성
SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAME
FROM ANIMAL_OUTS LEFT JOIN ANIMAL_INS ON ANIMAL_OUTS.ANIMAL_ID = ANIMAL_INS.ANIMAL_ID
WHERE ANIMAL_INS.ANIMAL_ID is null;
당연히 join으로 하면 두 테이블 모두에서 있는 것만 합쳐지기 때문에 성립되지 않는다
그렇다면 right join은?
=> 된다 그렇지만 굳이 ..?라는 생각이 든다
실무에서는 join이랑 left join이 더 많이 쓰인다는 얘기도 들었고
기준이 되는 테이블이 왼쪽에 있는게 더 편하지 않나?
여튼 되긴 된다
SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAME
FROM ANIMAL_INS RIGHT JOIN ANIMAL_OUTS ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_INS.ANIMAL_ID is null;
출처 : 프로그래머스
'코딩테스트' 카테고리의 다른 글
[프로그래머스] [Python] 짝수의 합 (1) | 2023.11.01 |
---|---|
[프로그래머스] [Python] 자릿수 더하기 (0) | 2023.10.26 |
[프로그래머스] [Python] 수 조작하기 1 (0) | 2023.10.17 |
[프로그래머스] [SQL] 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.10.13 |
[프로그래머스] [SQL] DATETIME에서 DATE로 형 변환 (0) | 2023.10.13 |