외부조인2 - 실습2 - is NULL
64
작성한 질문수 3
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
외부 조인2강 - 실습2 관련 질문입니다!
SELECT *
FROM products AS p
LEFT JOIN orders AS o ON p.product_id = o.product_id
WHERE o.product_id is NULL;
WHERE 절에 o.order_id is NULL로 작성해주셨는데, 위와 같이 WHERE o.product_id is NULL; 써도 괜찮은 걸까요?
답변 1
1
안녕하세요, 인프런 AI 인턴입니다. 정유진님.
외부 조인에서 특정 조건을 만족하지 않는 데이터를 찾고자 할 때 LEFT JOIN을 사용합니다. 질문 주신 내용과 관련하여, WHERE 절에서 어떤 열(column)을 NULL로 체크할지는 조회하고자 하는 의도에 따라 다를 수 있습니다.
SELECT * FROM products AS p LEFT JOIN orders AS o ON p.product_id = o.product_id WHERE o.product_id is NULL;
위 쿼리는 orders 테이블에 없는 product_id를 가진 products 테이블의 데이터를 조회하려는 것입니다. 이 경우 당연히 NULL 체크를 하는 열(column)이 o.product_id일 것입니다.
그러나, 보통은 orders 테이블의 실제 존재하는 기본 키인 order_id를 기준으로 NULL을 체크하는 것을 권장합니다. 이렇게 하는 이유는 조인이 이루어졌을 때, product_id는 FK(Foreign Key)로서 여러 번 참조될 수 있지만, order_id는 일대일로 맞는 레코드가 없을 때 NULL이기 때문입니다.
더 자세한 내용이나 비슷한 주제의 설명이 필요하시다면, 관련 강의나 소스를 찾아보는 것이 도움이 될 수 있습니다. 다음 링크에서 추가 정보를 확인할 수 있습니다:
- SQL 외부 조인과 NULL 값 처리
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
간단한 오타 제보입니다.
0
21
1
ON을 명시하지 않았을 경우 질문드립니다.
0
64
1
강의 2:53 union을썼는데도 션이 중복
0
61
1
where 대신 having을 써도 되나요?
0
85
1
주문 내역에 대한 고객 데이터
0
67
2
in 수행
0
46
1
외부조인1 강의 관련 질문
0
77
3
커버링 인덱스와 랜덤i/o 질문
0
73
1
오타인거죠?
0
82
1
섹션 3 퀴즈 3번 문제
0
79
2
GROUP BY 기준 컬럼
0
89
1
질문이 있습니다
0
58
1
오타
0
84
2
실제 상용 서비스 질문
0
101
1
파티셔닝 관련 질문입니다.
0
63
1
join 문제 풀이2 문제1(self join) 질문
0
68
1
9. 인덱스2.pdf 중에서
0
82
1
문제 2번
0
69
2
문제와 풀이1 - 3번 문제
-1
73
2
잘 사용하진 않지만 풀 외부 조인을 사용하신 사례가 궁금합니다!
0
97
1
[58. 인덱스와 정렬]을 듣다가 질문입니다.
0
98
2
두개 이상의 테이블을 조인할때 인덱스 질문이 있습니다.
0
62
1
파일을 만드는 단위가 궁금해요
0
76
1
MySQL은 실무에서 사용하는 케이스도 있을까요?
0
87
1





