LEFT JOIN 문제풀이 중 질문이 있습니다.
175
작성한 질문수 6
안녕하세요
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라고 뜨긴했지만 선생님이 풀이해주신 부분과 제 쿼리가 실행 중 어떤 차이점이 있을지 궁금합니다.
답변 1
0
안녕하세요.
LEFT JOIN시, 왼쪽 테이블에는 존재하나 오른쪽 테이블에는 존재하지 않는 모든 컬럼들에 Null이 기록되게 됩니다.
그러니까 조인된 orders 테이블에 customerid가 NULL인 컬럼은 id도 NULL이 들어가있겠지요?
orders 테이블의 어떤 컬럼을 WHERE o.** IS NULL 조건으로 사용하셔도 결과는 같습니다.
리트코드 1280. Students and Examinations
0
74
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
89
2
African Cities 문제관련 질문
0
53
1
SQL 코딩테스트 질문
0
206
1
HACKER RANK에서 문제찾기
0
96
2
강의 자료 다운로드
0
90
2
Asian population 문제가 없어요
0
77
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
66
2
별칭 관련해서 질문 있습니다.
0
79
2
rising temperature 문제 질문
0
98
2
해커랭크 TOP EARNERS 문제 질문
0
99
1
ON 뒤에 질문
0
94
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
196
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
203
2
CustomerID가 중복되서 나타나요
0
233
3
별칭이 전체 테이블을 못 불러와요.
0
142
2
CASE WHEN 쿼리 오류 문의
1
325
3
CASE문제풀이 질문
0
124
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
136
1
Average Population 질문
0
129
1
Revising Aggregations - The Count Function 질문
0
104
1
Average Population of Each Continent 에대해서 질문
0
193
3
w3schools 에서 쿼리 작성 질문
0
159
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
329
1





