• SQL FULL OUTER JOIN 키워드

    2021. 6. 9.

    by. Jacob Lee

    728x90

     


     

    FULL OUTER JOIN

    SQL에서는 FULL OUTER JOIN을 사용함으로써, 왼쪽, 오른쪽 테이블에서 매칭하는 데이터가 있을 때 모든 레코드를 반환할 수 있다. 추가적으로, FULL OUTER JOIN과 FULL JOIN은 같은 의미로 사용된다.

     

    Image from CodingHorror


    FULL OUTER JOIN의 기본 문법은 다음과 같다.

    SELECT column_name FROM table1 
    FULL OUTER JOIN table2 
    ON table1.column_name = table2.column_name 
    WHERE condition;

     

    FULL OUTER JOIN 사용하기

    아래와 같이 registrationslogins 테이블이 있다고 가정하고(중복되지 않는다고도 가정), 아래 두 테이블을 FULL OUTER JOIN을 사용해 묶어보자.

     

    Image from Pierian Data


    다음과 같은 SQL문을 사용해 아래 이미지처럼 데이터를 묶을 수 있을 것이다,.

    SELECT * FROM registrations 
    FULL OUTER JOIN logins 
    ON registrations.name = logins.name;

     

    Image from Pierian Data

    위와 같이 FULL OUTER JOIN을 실행하면 첫 두 줄처럼 매칭하는 컬럼은 같이 위치하게 된다.

    하지만, 세&네번째에 찰리와 데이비드, 그리고 다섯&여섯번째에 재비어 욜란다는 해당하는 컬럼이 없기 때문에 null 밸류가 채워진다.


    여기서 WHERE절로 조건을 주어 FULL OUTER JOIN을 같이 사용하면, INNER JOIN과는 달리 양쪽 테이블에서 다 유니크한 값들을 가져올 수 있다.

    SELECT * FROM registrations
    FULL OUTER JOIN logins 
    ON registrations.name = logins.name 
    WHERE registrations.reg_id IS null OR logins.log_id IS null;

    Image from Pierian Data

     

    728x90

    'Back-end > SQL' 카테고리의 다른 글

    SQL RIGHT JOIN 키워드  (0) 2021.06.13
    SQL LEFT OUTER JOIN 키워드  (0) 2021.06.12
    SQL INNER JOIN 키워드  (0) 2021.06.02
    SQL JOIN절  (0) 2021.06.01
    SQL AS 키워드  (0) 2021.06.01

    댓글