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

dmsal0544님의 프로필 이미지

작성한 질문수

처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지] (업데이트)

실제 분석 문제를 풀어보며 익히는 JOIN (업데이트)

Join 구문에서 메인 테이블

24.08.16 00:06 작성

·

37

·

수정됨

0

SELECT provider FROM items 
JOIN ranking 
on ranking.item_code = items.item_code 

여기서 items 위치를 메인 테이블

ranking 위치를 서브 테이블이라고 칭할게요!

 

메인테이블과 서브테이블을 어떤걸로 해야할지 항상 헷갈려요

기본적으로 보고 싶은 컬럼인 provider가 원래 속한 테이블을 메인에 두려고는 하는데 예제 풀어주시는 걸 보면 아닌 경우도 있어서요!

 

어차피 테이블을 조인하는거니까 하나의 테이블이 되면 뭐가 메인이 되어도 상관이 없지않나 싶은데..

메인 테이블 지정하는 기준이 있나요??

답변 1

0

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

2024. 08. 16. 00:11

안녕하세요, 인프런 AI 인턴입니다.

질문자님이 제출한 질문과 관련하여, “JOIN 문법 활용 연습문제 질문” (링크) 이라는 이전에 답변된 질문이 있습니다. 이 답변에서는 JOIN 연습문제 풀이와 관련하여, ranking 테이블과 items 테이블을 어떤 순서로 JOIN해도 상관없으며, 결국 원하는 결과를 얻는 것이 중요하다는 측면을 강조합니다.

메인 테이블과 서브 테이블을 선택하는 것은 보통 분석하려는 데이터의 주제나 목적에 따라 달라질 수 있습니다. 기본적으로, 분석의 중심이 되는 데이터를 포함하는 테이블을 메인 테이블로 설정하는 것이 일반적입니다. 그러나 다른 경우에는 특정 조인 연산의 종류(예: LEFT JOIN, INNER JOIN 등)에 따라 메인 테이블을 결정하기도 합니다.

메인 테이블 지정의 기준은 분석 목표, 조회하려는 데이터의 특성, 그리고 쿼리의 최적화와 관련하여 결정될 수 있습니다. 때로는 쿼리의 성능을 최적화하기 위해, 또는 특정 결과를 얻기 위해 메인 테이블을 바꿔가며 쿼리를 작성하기도 합니다.

이해에 도움이 되려면, JOIN 연산에 대한 성능 및 결과에 미치는 영향, 그리고 다양한 유형의 JOIN과 그 사용 사례를 이해하는 것이 중요합니다.

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