문제
programmers.co.kr/learn/courses/30/lessons/59042
LEFT JOIN을 사용하는 문제로 이해했다.
LEFT JOIN은
FROM 절에 선언된 테이블의 값은 무조건 출력하고
LEFT JOIN 절에 선언된 테이블의 값은 있으면 출력하고 없으면 NULL로 출력된다.
아래 사진처럼 먼저 선언된 ANIMAL_OUTS 테이블의 다섯 컬럼이 좌측에 먼저 출력되고
LEFT JOIN 절에 선언된 ANIMAL_INS 테이블의 다섯 컬럼이 우측에 이어서 출력된다.
ON 절에 선언한 조건에 일치하는 값이 LEFT JOIN 절에 선언한 테이블에 없더라도 칸을 비워서 출력함으로써
아래 사진과 같이 두 테이블 값을 비교할 때 활용할 수 있다.
아래 사진에서 비어있는 행은 해당 ANIMAL_ID가
ANIMAL_OUTS 에는 존재하지만 ANIMAL_INS 에는 존재하지 않는다는 의미이다.
직접 그렸다 하하. - -... 암튼 코드.
1
2
3
4
5
6
7
8
|
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A
LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.ANIMAL_ID
|
cs |
'Database' 카테고리의 다른 글
오랜 기간 보호한 동물(1) - LEFT JOIN, SUB QUERY (0) | 2020.11.24 |
---|---|
있었는데요 없었습니다 - JOIN (0) | 2020.11.24 |
우유와 요거트가 담긴 장바구니 - Summer/Winter Coding(2019) - GROUP BY, JOIN (0) | 2020.11.24 |
오라클 계층형 쿼리를 이용한 조직도 (START WITH, CONNECT BY, Treant) (2) | 2020.11.15 |
SQL Developer 에서 RDS MySQL 접속하기 (0) | 2020.08.07 |