작성
·
16
0
SELECT c.name as Customers
FROM customers as c
LEFT JOIN orders o ON c.id = o.customerid
where o.id is null
안녕하세요. 리트코드 Average Population of Each Continent 문제 풀다가 질문 생겨서 남깁니다.
제가 생각했을때, 아래 코드 (where o.customerid is null) 만 정답이 되어야한다고 생각하는데.
SELECT c.name as Customers
FROM customers as c
LEFT JOIN orders o ON c.id = o.customerid
where o.customerid is null
선미님도 위에 코드와 똑같이 하셨더라구요 ?
왜 위에도 정답이 되는지 잘 모르겠어요.
orders 테이블의 customerid 칼럼이 NULL 값인 것을 찾는 것과
orders 테이블의 id 칼럼이 NULL 인것을 찾는 것. 조금 다르지 않나요??
아... 질문 작성하면서 좀 이해한 거 같은데. ㅋㅋ
orders 테이블의 id 칼럼이 NULL 인 것 (즉, id칼럼이 3, 4) 과
orders 테이블의 customerid 칼럼이 NULL인 것 (즉, customerid 칼럼이 2,4)
같나요???
.
.
.
아... 헷갈리네요 ㅠㅠ 질문입니다.
답변 2
0
아 90% 이해했습니다! 감사합니다!
추가 질문 드려도 될까요?
SELECT *
FROM customers AS c
LEFT JOIN orders as o on c.id = o.customerid
| id | name | id | customerId |
| -- | ----- | ---- | ---------- |
| 1 | Joe | 2 | 1 |
| 2 | Henry | null | null |
| 3 | Sam | 1 | 3 |
| 4 | Max | null | null |
위에 코드는 선미님께서 강의에서 실행하신 코드 입니다.
그런데, 동일한 코드를 제가 Leetcode에서 실행하면,
맨처음 칼럼 A열에서,
id 가 1,2,3,4 순서인 것을 확인하실 수 있습니다.
강의에서 3,1,2,4 로 보이는 것과는 다른 상황입니다.
솔직히 대단히 중요한 건 아닌거같은데.
그냥 여기 꽃혀서 좀 이해가 안되는 것 같습니다.
왜 다른건가요??