[ SQL ] SELECT - JOIN

Kong-al·2022년 9월 7일
0
post-custom-banner

0830 3일차 수업내용

JOIN이란?

두 개 이상의 테이블들을 서로 연결하여 데이터를 검색할 때 처럼 사용하는 방법으로 두개의 테이블을 마치 하나의 테이블인것처럼 보여주는 것이다.

사용방법

  • 두개의 테이블에 하나라도 같은 컬럼이 있어야한다.

  • 두 컬럼의 값은 공유되어야 한다.

  • 보통 조인을 위해서 기본키(PK)와 외래키(FK)를 활용한다.

    JOIN의 종류

    INNER JOIN , OUTER JOIN

    JOIN은 크게 INNER JOIN , OUTER JOIN으로 나뉜다. 각각의 특징과 사용법에 대해 알아보자.

    INNER JOIN

    INNER JOIN은 각 테이블에서 조인 조건에 일치하는 데이터만 가져오며 교집합이라고도 한다.

OUTER JOIN

OUTER JOIN은 조인 조건에 일치하는 데이터 및 일치하지 않는 데이터를 모두 SELECT하며 일치하는 데이터가 없다면 NULL값으로 가지고 온다.

OUTER JOIN은 INNER JOIN과 다르게 주(MAIN)테이블이 어떤 테이블인지가 중요하다. 테이블의 종류에 따라OUTER JOIN은

  • LEFT OUTER JOIN : 왼쪽 테이블이 중심
  • RIGHT OUTER JOIN : 오른쪽 테이블이 중심
  • FULL OUTER JOIN : 양쪽테이블 모두가 중심

으로 세분할수 있다.

LEFT OUTER JOIN

왼쪽 테이블이 기준이 된다.
조인 조건에 부합하는 데이터가 조인당하는 테이블(오른쪽)에 있으면 해당 데이터를 가지고 오고, 부재하면 NULL값으로 조회된다.

예시
SELECT	*
FROM	SAWON LEFT OUTER JOIN LICENSE
결과

RIGHT OUTER JOIN

오른쪽 테이블이 기준이 된다.
조인 조건에 부합하는 데이터가 조인당하는 테이블(왼쪽)에 있으면 해당 데이터를 가지고 오고, 부재하면 NULL값으로 조회된다.

예시
SELECT	*
FROM	SAWON RIGHT OUTER JOIN LICENSE
결과

FULL OUTER JOIN

양쪽 테이블 모두가 기준이 된다.
조인조건에 부합하는 데이터가 조인당하는 테이블에 있으면 해당데이터를, 부재하면 NULL값으로 조회된다.

예시
SELECT	*
FROM	SAWON FULL OUTER JOIN LICENSE
결과

ANSI JOIN vs ORACLE JOIN

SQL은 데이터베이스를 관리하기 위해 만들어진 프로그래밍 언어이며 , 데이터베이스를 관리해주는 대부분의 DBMS들은 SQL을 사용한다. 물론 DBMS자체의 특수성 때문에 SQL의 사용법이 조금씩 다르기도 하지만 큰 틀에선 나름대로의 보편성을 가지고있다. 이를 위해 국립표준협회( ANSI )에서도 SQL에 대한 보편적인 문법을 제시하고 있는데 그것이 바로 ANSI QUERY이다.

profile
웹개발 공부중!(❁´◡`❁)
post-custom-banner

0개의 댓글