inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL

LEFT JOIN 리트코드 문제풀이

LEFT JOIN 문제풀이 중 질문이 있습니다.

175

JH Sim

작성한 질문수 6

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라고 뜨긴했지만 선생님이 풀이해주신 부분과 제 쿼리가 실행 중 어떤 차이점이 있을지 궁금합니다. 

sql

답변 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