DAY16(1) - JOIN

은나현·2023년 2월 13일
0

📌 1. SQL JOIN 함수

📍 1-1. join의 기본 사용 방법

  • Join은 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법으로 두 개의 테이블을 하나의 테이블인 것처럼 보여주는 기능이다.
    • 두 개의 테이블에 하나라도 같은 컬럼이 있어야 한다.
    • 두 컬럼의 값은 공유되어야 한다.
    • 보통 join을 위해 기본키(Primary Key)와 외래키(Foreign Key)를 활용한다.
    • join 기능 사용시에는 모든 컬럼명 앞에 어느 테이블의 컬럼인지 명시해야 하므로 편의상 거의 필수적으로 별칭(Alias/AS)을 지정해야 한다.
    • SELECT - FROM ~ JOIN - ON 순서로 사용한다.
      • 예시
        SELECT 	* 	FROM TABLE_A T1				//SELECT - 가져올 열
        			JOIN TABLE_B T2  				
                   	//FROM A JOIN B - 조인의 종류, 조인할 2개 이상의 테이블
                  	ON T1.COMMONCOLUMN = T2.COMMONCOLUMN
                   	// ON - 조인 조건

📍 1-2. inner join

  • 각 테이블에서 조인 조건에 일치되는 데이터만 가져온다.
  • 교집합이라고 이해하면 쉽다.
    • 예시
      		SELECT	* 	
      		FROM	EMPLOYEES e 
      				INNER JOIN JOB_HISTORY jh
               		ON e.EMPLOYEE_ID = jh.EMPLOYEE_ID 
                  //EMPLOYEES 테이블과 JOB_HISTORY 테이블에서 
                  EMPLOYEE_ID 컬럼 값이 같은 데이터들을 JOIN해서 가져온다.

📍 1-3. Outer join

  • 조인 조건에 일치하는 데이터 및 일치하지 않는 데이터를 모두 select한다.

  • 조인 조건이 일치하는 데이터가 없다면 null로 가져온다.

    • Outer JoinInner Join과는 다르게 주(main)테이블이 어떤 테이블인지가 중요하다.그래서 어떤 테이블이 중심이 되느냐에 따라 다시
      Left Outer Join, Right Outer Join, Full Outer Join으로 세분화할 수 있다.
      • Left Outer Join은 왼쪽에 있는 테이블이, Right Outer Join은 오른쪽에 있는 테이블이, Full Outer Join은 양쪽 테이블 모두가 중심(주)이라는 뜻이다. (다만 Full Outer Join은 세분화된 데이터로서의 의미가 적어 실제로는 많이 사용되지 않는다.)
  • Left Outer Join
    - 왼쪽 테이블이 기준이 된다.

    • 조인 조건에 부합하는 데이터가 데이터가 조인당하는 테이블(오른쪽)에 있으면 해당 데이터, 부재하면 NULL로 SELECT된다.
    • 사용 방법
    SELECT 	* 	FROM TABLE_A T1
    			LEFT OUTER JOIN TABLE_B T2
    • 예시
  • Right Outer Join
    - 오른쪽 테이블이 기준이 된다.

    • 조인 조건에 부합하는 데이터가 데이터가 조인당하는 테이블(왼쪽)에 있으면 해당 데이터, 부재하면 NULL로 SELECT된다.
    • 사용 방법
    SELECT 	* 	FROM TABLE_A T1
    			RIGHT OUTER JOIN TABLE_B T2
    • 예시
  • Full Outer Join
    - 오른쪽 테이블이 기준이 된다.

    • 조인 조건에 부합하는 데이터가 데이터가 조인당하는 테이블(왼쪽 또는 오른쪽)에 있으면 해당 데이터, 부재하면 NULL로 SELECT된다.
    • 사용 방법
    SELECT 	* 	FROM TABLE_A T1
    			FULL OUTER JOIN TABLE_B T2
    • 예시

➕ ANSI JOIN

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

0개의 댓글