- 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
'SQL' 카테고리의 다른 글
| [SQL] 나만의 기본적인 문법 정리 (1) (0) | 2024.03.11 |
|---|---|
| [SQL] 간단한 SQL WITH 구문 복습 (0) | 2023.08.21 |
| [SQL] 간단한 SQL JOIN 과 GROUP BY 결합 구문 복습 (0) | 2023.07.29 |
| [SQL] 간단한 SQL COUNT 구문 복습 (3) | 2023.07.27 |
| [SQL] 간단한 SQL 구문 NULL값 처리하는 방법 (1) | 2023.07.25 |