인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ajdsasld님의 프로필 이미지

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

Querydsl 소개2 - 해결

QueryDSL 소개2 해결 강의 관련 질문입니다~

작성

·

10

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

내용중에 "조인에 대해서도 당연히 지원한다."
라고 되어있는 ppt 내용중에서,

QMember m = QMember,member;.png

이렇게 join을 사용하는 부분이 있는데, 여기에 있는 join이 left join이랑 다른 것이고 inner join이랑 다른 개념인건가요?

 

“기능 살펴보기” 부분에도 그냥 join도 있고 innerjoin도 있고, left join도 있던데 그냥 join은 무슨 의미인가요?

 

답변 1

1

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. ajdsasld님께서 질문해주신 QueryDSL의 조인에 관한 내용을 살펴보겠습니다.

QueryDSL에서의 join은 SQL의 INNER JOIN과 동일하게 기본적으로 사용됩니다. 즉, 두 테이블 간의 공통된 조건을 만족하는 데이터를 조인하여 반환하는 방식입니다.

간단히 정리하자면:

  • join(memberCards, mc): 기본적으로 INNER JOIN이 됩니다. 이 경우 조인 대상의 조건이 모두 충족된 데이터만 조회됩니다.
  • leftJoin(memberCards, mc): 이것은 SQL의 LEFT JOIN 과 동등한 기능을 수행하며, 왼쪽(기준) 테이블의 모든 데이터와 오른쪽(조인 대상) 테이블의 조건을 만족하는 데이터를 조회합니다.
  • innerJoin(…, …): 명시적으로 INNER JOIN 을 사용할 수 있으며, 일반적인 join과 결과는 동일합니다.

QueryDSL join 방식이 예시로 설명된 이미지

따라서, join 만 사용하시면, 기본적으로 INNER JOIN으로 처리된다고 이해하시면 됩니다. 간단한 조인 처리부터 다양한 조건의 조인을 용이하게 처리하는 것이 QueryDSL의 장점입니다.

이해를 돕기 위해 예시 이미지와 함께 설명해 드렸습니다. 추가적으로 궁금한 사항이 있다면, 이어서 질문해 주세요. 곧 지식공유자께서도 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ajdsasld님의 프로필 이미지

작성한 질문수

질문하기