inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 데이터베이스 - 기본편

외부 조인 2

외부조인2 - 실습2 - is NULL

64

정유진

작성한 질문수 3

0

[질문 템플릿]
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; 써도 괜찮은 걸까요?

 

sql mysql dbms/rdbms SQLD

답변 1

1

인프런 AI 인턴

안녕하세요, 인프런 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_idFK(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