SQL | JOIN(조인)할 때 ON절의 컬럼명, 꼭 같아야 할까

    728x90

     

    0. JOIN(조인)할 때 컬럼명 논란

     

    JOIN할 때 양 테이블의 컬럼명이 꼭 같아야 하는 걸까?

     

    예를 들어,

    고객정보 테이블주문정보 테이블이 있다.

    그런데 이 둘을 이어주는 컬럼이 이런 상황이라면..?

     

    - 고객정보 테이블:  '고객 아이디'

    - 주문정보 테이블: '고객ID'

     

    여러분이 생각하는 정답 YES(조인이 된다) or YES(조인이 된다)?

     


    1. JOIN에 대한 기본사항

     

    ▶ JOIN의 기본 구조

    SELECT (조회할 컬럼)
    FROM (테이블1)
    (INNER/LEFT/RIGHT) JOIN (조인할 테이블2) ON 테이블1.공통칼럼 = 테이블2.공통칼럼
    WHERE (조건절)
    GROUP BY (그룹화할 컬럼명)
    ORDER BY (정렬 기준 컬럼명) ASC/DESC

     


    2. JOIN(조인) 컬럼명 논란 종결

     

    ▶ JOIN(조인)

    : 두 테이블을 조인할 때는 두 테이블이 공통적으로 가지고 있는 공통 칼럼을 가지고 조인하게 됨

     

    Q. 이 때 컬럼의 이름이 꼭 같아야 할까?

    A. 아니다. 두 테이블을 묶어주는 것은 '공통 값'이기 때문에 두 테이블의 컬럼명은 달라도 괜찮다.

     

     

    위에서 들었던 예시처럼,

    고객 정보 테이블에는 '고객아이디' 컬럼이 있고,

    주문 정보 테이블에는 '고객ID' 컬럼명이 있을 때

     

    두 테이블을 조인하기 위해서는

    ON절 뒤에

     

    고객정보.고객아이디 = 주문정보.고객ID 

    라고 해도 됨.

    728x90

    댓글