✏️ STUDY/📍 data

[SQL 기초] INNER JOIN / OUTER JOIN

나무울 2023. 6. 8. 21:13

 

 

https://youtu.be/D81QWILZTTE

위 강의를 보고 실습하면서 정리한 내용입니다.

 


 

INNER JOIN

  • JOIN: 여러 개의 테이블을 연결한다
  • JOIN 연결하는 방식에 따라 INNER JOIN과 OUTER JOIN으로 나뉘어진다
  • JOIN을 할 때는 컬럼 앞에 이 컬럼이 어느 테이블에 속한 컬럼인지를 명시해 주기 위해서 '테이블명.컬렁명'으로 작성해야 하는데, 매번 작성하기 길기 때문에 각 테이블에 ALIAS를 써서 간단하게 표기해준다
  • JOIN에 다른 조건을 추가하고 싶다면 WHERE 밑에 AND로 연결해서 작성한다.
  • INNER JOIN은 두 테이블에 공통적으로 존재하는 데이터여야 출력이 된다
  • JOIN의 관계는 1:1이 될 수도 있고, 1:N이 될 수도 있고 N:1이 될 수도 있다

 

[실습]

SELECT * FROM NETFLIX_CAST;

SELECT A.VIDEO_NAME, A.CATEGORY, B.CAST_MEMBER, B.BIRTHDAY
    FROM NETFLIX A, NETFLIX_CAST B
    WHERE A.VIDEO_NAME = B.VIDEO_NAME

 


 

OUTER JOIN

  • LEFT OUTER JOIN: LEFT TABLE의 모든 데이터가 출력이 되는 것을 전제로 JOIN이 되는 방식
  • RIGHT OUTER JOIN: RIGHT TABLE의 모든 데이터가 출력이 되는 것을 전제로 JOIN이 되는 방식
  • FULL OUTER JOIN: LEFT TABLE와 RIGHT TABLE의 모든 데이터가 출력이 되는 것을 전제로 JOIN이 되는 방식
  • OUTER JOIN은 JOIN 조건이 ON 절에 들어가고, INNER JOIN은 WHERE 절에 들어간다

 

[실습]

SELECT A.VIDEO_NAME, A.CATEGORY, B.CAST_MEMBER
    FROM NETFLIX A
    LEFT OUTER JOIN NETFLIX_CAST B
        ON A.VIDEO_NAME = B.VIDEO_NAME;
#INNER JOIN과 동일하게 만들고 싶다면 아래 조건을 추가한다
    WHERE B.CAST_MEMBER IS NOT NULL;