-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
LEFT JOIN 문제풀이 중 질문이 있습니다.
20.04.27 17:08 작성 조회수 98
1
안녕하세요
LEFT JOIN 문제 도중 궁금한 부분이 있어 질문드립니다.
선생님께서 풀이해주신 부분은 where 절을
o.id is null 로 풀이해주셨는데요.
제가 작성한 쿼리는
select c.Name as Customers
from Customers as c
left join Orders as o on c.id = o.Customerid
where o.CustomerId is null;
위와 같이 작성하였습니다.
저는 Orders(주문) 테이블에 주문한 고객 id가 3, 1 두개 뿐이었으므로 1,3을 제외한 주문이 없기때문에 null인 값을 호출한다는 의미로 where o.CustomerId is null; 을 작성하였는데요.
쿼리 실행결과는 리트코드상에서 Success라고 뜨긴했지만 선생님이 풀이해주신 부분과 제 쿼리가 실행 중 어떤 차이점이 있을지 궁금합니다.
답변을 작성해보세요.
0
윤선미
지식공유자2020.04.27
안녕하세요.
LEFT JOIN시, 왼쪽 테이블에는 존재하나 오른쪽 테이블에는 존재하지 않는 모든 컬럼들에 Null이 기록되게 됩니다.
그러니까 조인된 orders 테이블에 customerid가 NULL인 컬럼은 id도 NULL이 들어가있겠지요?
orders 테이블의 어떤 컬럼을 WHERE o.** IS NULL 조건으로 사용하셔도 결과는 같습니다.
답변 1