상관서브쿼리와 Exists의 이해 -02의 left outer join관련
411
投稿した質問数 5
안녕하세요, 강사님
서브쿼리 강의 듣다 궁금한 사항이 있어 질문드립니다.
--------------------------------------------------------
문제:
1997년 이후에 단 한건도 주문하지 않은 고객정보를 조인으로 변환
select *
from nw.customers a
left join (select customer_id from nw.orders
where order_date >= to_date('19970101', 'yyyymmdd') group by customer_id) b
on a.customer_id = b.customer_id
where b.customer_id is null;
--------------------------------------------------------
여기서, b의 테이블이 1997년 이후로 구매한 사람들의 데이터만 담겨있을 것이고, a의 테이블이 전체 customer_id에 대해 담겨 있을 텐데,
따라서 a.customer_id is null로 작성하는게 아닌지요..? 너무 헷갈립니다 ㅜㅜ
回答 2
0
안녕하십니까,
a 테이블은 Left Join의 기준 테이블이니까 특정 customer_id가 b 집합에서 없어서 조인이 되지 않는 경우에도 조인 결과에서는 제외되지 않습니다. 다만 해당 customer_id의 경우는 b 집합과 조인되지 않으므로 b집합에서 데이터를 가져올 수는 없습니다.
때문에 a와 b 집합의 left join시 제외되는 특정 customer id를 추출하고자 한다면 b.customer_id가 null이 되는 집합만 찾으면 됩니다.
left join은 헷갈리기 쉽지만, 의미를 다시 생각해보고, 조금만 반복 실습하면 충분히 명확하게 이해하실 수 있을 것입니다.
감사합니다.
'레벨 유지'의 의미에 대한 질문
0
53
2
date_part
0
55
2
lag/lead offset 관련 질문
0
55
2
join 관련 질문 (inner join, left join)
1
100
2
배치에서 full outer join을 쓴다고 하셨는데 예시를 알 수 있을까요?
0
89
2
Madrid에 살고 있는 고객이 주문한 주문 정보를 구할것. 실습 질문드립니다
0
53
2
rollup시 null값 매출 라벨링
0
54
2
10. 조인 실습 - 02 관련 질문
0
59
1
조인실습03 - join의 pk-fk join
0
108
2
조인실습03 - join의 pk-fk join
0
68
2
(공유)맥, 스키마 import
0
81
2
sql 입문자인데, 이 강의와 sql 코딩테스트와 연관이 있을까요?
0
137
2
1인지 M인지는 결국엔 테이블을 직접 확인을 해야 하는걸까요?
0
131
2
안녕하세요. 튜닝핵심가이드강의 관련해서 여쭤보고 싶어서 남깁니다.
0
91
1
섹션5 Group by 실습-01 강의 예제 질문
0
117
2
섹션2 조인 기반 메커니즘에서 조인 실습 - 04 강의 예제 질문
0
123
2
섹션2 조인 실습 01 강의 질문
0
133
2
lead lag 이해 강의에서 윈도우 절은 사용되지 않습니다.
0
127
1
Dbeaver오류
0
630
2
직원 별 가장 높은 매출
0
118
1
강의순서대로 실습코드순알려주세요.
0
133
1
m:n inner join일 경우 cross조인과 동일하게 동작되는건가요?
0
130
1
rollup
0
91
2
Dbeaver에 접속해도 postgressql이 네비게이터에 안보입니다.
0
355
2

