인프런 커뮤니티 질문&답변
조건절의 위치 관련 질문사항
작성
·
37
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
조인을 이용시 on절 뒤에 and를 이용해서 추가 조건절을 이용하는 방식과 where 절에서 조건절을 넣는 방식중 유의미한 성능상에 차이가 있는지 궁금합니다. 추가적으로 어떤 방식이 좀더 정돈된(?) 방식인지도 궁금합니다.
퀴즈
불일치하는 데이터를 포함하여 한 테이블에만 있는 레코드를 찾으려면 어떤 조인 유형을 사용해야 할까요?
내부 조인
외부 조인
셀프 조인
교차 조인
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
yskim님, 조인을 이용할 때 ON 절과 WHERE 절을 사용하는 방식에 대해 질문을 주셨군요. 이 두 방식을 비교하여 성능과 코드의 정돈 측면을 설명드리겠습니다.
ON 절 vs. WHERE 절
- ON 절: 조인을 수행할 때 조건을 지정합니다. 주로 두 테이블 간의 조인 조건을 명시합니다. 예를 들어, 두 테이블에서 매칭되는 레코드를 기준으로 조건을 설정할 때 유용합니다.
- WHERE 절: 조인된 결과에서 추가적인 필터링을 적용할 때 사용합니다. 보통 조인된 결과에서 특정 데이터만 필요할 경우 사용합니다.
- ON 절: 조인을 수행할 때 조건을 지정합니다. 주로 두 테이블 간의 조인 조건을 명시합니다. 예를 들어, 두 테이블에서 매칭되는 레코드를 기준으로 조건을 설정할 때 유용합니다.
성능 차이
일반적으로, 데이터베이스의 최적화 엔진이ON 절과WHERE 절을 사용하여 효율적으로 결과를 처리하기 때문에 대부분의 경우 성능에 큰 차이가 없습니다. 그러나 특정 복잡한 쿼리에서는 쿼리 최적화에 영향을 미칠 수 있습니다. 즉, 데이터베이스 엔진에 따라 최적화 방식이 다를 수 있으므로, 실제 성능 차이를 확인하기 위해서는 테스트가 필요합니다.정돈된 방식
- 코드의 가독성을 위해, 두 테이블 간의 관계가 명확하다면
ON 절을 사용하여 조인 관계를 명시하고, 추가적인 데이터를 필터링하고자 할 때는WHERE 절을 사용하는 것이 일반적입니다. 이렇게 하면 쿼리의 의도가 명확해져 코드의 가독성이 높아집니다.
- 코드의 가독성을 위해, 두 테이블 간의 관계가 명확하다면
관련 토론에 대한 인프런의 유사 게시물을 참고하실 수 있습니다:
- 연관관계 없는 엔티티 외부 조인 - 해당 질문은 조인의 조건 절에 대해 살펴볼 수 있는 좋은 예입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




