Join(조인)
영어사전에서 조인이란 연결하다, 잇다 라고 표현하는데 뜻에서 알 수 있듯 하나가 아닌 둘 이상을 잇는 것을 의미한다.
데이터베이스에서의 조인도 비슷한데,
한 테이블의 행을 다른 테이블의 행에 연결하여 두 개 이상의 테이블을 결합하는 것이다.
조금 정직하게 설명하면
- 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것.
- 테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만든다.
조인의 필요성
서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 필요하다.
ex) MEMBER 테이블과 TEAM 테이블, STUDENT 테이블과 CLASS 테이블
Join의 종류
- INNER JOIN : 두 테이블 간의 일치하는 행을 반환.
- SELECT * FROM FOOD_A A INNER JOIN FOOD_B B ON A.FOOD_NAME = B.FOOD_NAME;
- LEFT OUTER JOIN : 기준 테이블의 모든 행과 join 테이블의 일치하는 행을 반환하며, join 테이블에 일치하는 행이 없는 경우에는 NULL 값을 사용하여 조인한다.
- SELECT * FROM FOOD_A A. LEFT OUTER JOIN FOOD_B B ON A.FOOD_NAME = B.FOOD_NAME;
- RIGHT OUTER JOIN : LEFT OUTER JOIN과 비슷하지만, 기준이 오른쪽이고 join 테이블이 왼쪽인 경우입니다.
- SELECT * FROM FOOD_A A RIGHT OUTER JOIN FOOD_B B ON A.FOOD_NAME = B.FOOD_NAME;
- FULL OUTER JOIN : 양쪽 테이블의 모든 행을 반환하고 일치하는 행이 없는 경우 NULL 값을 사용하여 조인한다.
- SELECT * FROM FOOD_A union SELECT * FROM FOOD_B B;
- CROSS JOIN : 두 테이블의 각 행이 다른 테이블의 각 행과 결합됩니다.
- SELECT * FROM FOOD_A CROSS JOIN FOOD_B;
- SELECT * FROM FOOD_A JOIN FOOD_B;
- SELECT * FROM FOOD_A, FOOD_B
'CS > 데이터베이스' 카테고리의 다른 글
커넥션 풀 (0) | 2024.04.04 |
---|---|
인덱스 (0) | 2024.04.01 |
저장 프로시저, 트리거 (0) | 2024.03.27 |
Schema (0) | 2024.03.26 |
RDB - NoSQL 차이점 (1) | 2024.03.18 |