- OUTER JOIN 을 이용하여 두 테이블 조인하기

 

SELECT 칼럼명

FROM 첫번째 테이블

<LEFT | RIGHT | FULL > OUTER JOIN 두번째 테이블

ON <JOIN CONDITION>

WHERE 검색조건

 

OUTER JOIN은 첫번째 테이블 내용의 누락 없이 검색이 가능하며 두가지 테이블의 내용을 한번에 가지고 올 수 있습니다. 

LEFT 사용시 => 첫번째 테이블의 내용은 두번째 테이블과 연계되는 내용이 없더라도 모두 검색되어야 한다는 뜻

RIGHT 사용시 => 두번째 테이블의 내용은 모두 검색되어야 한다는 뜻

FULL 사용시 => 모든 테이블의 내용이 모두 검색되어야 한다는 뜻

 

문제

 

천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.

 

나의 정답

SELECT *
FROM ANIMAL_OUTS A
LEFT OUTER JOIN ANIMAL_INS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL

해당 문제에서는 ANIMAL_INS에는 없는 데 ANIMAL_OUTS에 있는 데이터를 찾아 조회하는 문제였다.

그래서 첫번째 테이블을 ANIMAL_OUTS로 하여 LEFT 조인 하여 모든 내용이 조회되게 하였다. 

그렇게 조인한 테이블에서 ANIMAL_INS의 ANIMAL_ID가 NULL인 값만 조회하여 유실된 데이터를 조회하게 하였다.

 

 

참고 문제 <프로그래머스 SQL>

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

 

프로그래머스

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

programmers.co.kr

 

+ Recent posts