DBMS
JOIN 정리
asd135
2024. 3. 22. 21:49
728x90
JOIN
두 개 이상의 테이블을 연결하여 데이터를 검색할 때 사용하며 JOIN 된 테이블은 마치 하나의 테이블인 것처럼 보인다.
일반적으로 JOIN을 사용하려면 테이블 간 관계가 있어야 한다. 예를 들어 A테이블의 기본키가 B테이블의 외래키로 참조되는 경우가 있다.
두 테이블의 조인을 위해서는 기본키와 외래키 관계를 설정해 두면 속도 향상 등의 이점이 있다
ON
테이블 간 JOIN 조건을 정의한다.
ON 조건은 주로 두 테이블 간 컬럼을 연결하는 데 사용한다. 위에 예시의 경우 기본키와 외래키를 연결하는 데 사용할 수 있다.
JOIN의 종류
1. INNER JOIN
양쪽 테이블에서 일치하는 데이터만 반환한다.
SELECT column1, column2, …
FROM table_A
INNER JOIN table_B
ON table_A.column = table_B.column;
2. LEFT OUTER JOIN
왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 반환한다. 오른쪽 테이블에 일치하는 행이 없으면 왼쪽 테이블의 데이터에 NULL 값이 들어간다.
SELECT column1, column2, …
FROM table_A
LEFT JOIN table_B
ON table_A.column = table_B.column;
3. RIGHT OUTER JOIN [LEFT OUTER JOIN 반대]
오른쪽 테이블의 모든 행과 왼쪽 테이블에서 일치하는 행을 반환한다. 왼쪽 테이블에 일치하는 행이 없으면 오른쪽 테이블의 데이터에 NULL 값이 들어간다.
SELECT column1, column2, …
FROM table_A
RIGHT JOIN table_B
ON table_A.column = table_B.column;
4. FULL OUTER JOIN
두 테이블의 모든 행을 반환한다. 일치하는 행이 없는 경우 NULL 값이 들어간다.
FULL OUTER JOIN은 (LEFT OUTER JOIN, RIGHT OUTER JOIN) 결과를 합친 것과 비슷하다.
SELECT column1, column2, …
FROM table_A
FULL JOIN table_B
ON table_A.column = table_B.column;