- INNER JOIN:
- INNER JOIN은 두 테이블 간의 공통된 값을 기준으로 데이터를 결합합니다. 즉, 양쪽 테이블에서 일치하는 행만 결과에 포함됩니다.
- 예를 들어, 주문 테이블과 제품 테이블이 있을 때, INNER JOIN을 사용하여 주문과 해당 제품 정보를 결합할 수 있습니다. 결과는 주문과 해당 제품 정보가 모두 있는 행만 반환됩니다.
- LEFT JOIN:
- LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 결합합니다. 오른쪽 테이블에 일치하는 행이 없는 경우에도 왼쪽 테이블의 모든 행이 결과에 포함됩니다.
- 예를 들어, 주문 테이블과 제품 테이블이 있을 때, LEFT JOIN을 사용하여 주문과 해당 제품 정보를 결합할 수 있습니다. 결과는 모든 주문과 해당 제품 정보가 있는 행이거나 해당 제품 정보가 없는 주문만 있는 행이 포함됩니다.
- RIGHT JOIN:
- RIGHT JOIN은 LEFT JOIN과 비슷하게 작동하지만, 오른쪽 테이블의 모든 행과 왼쪽 테이블에서 일치하는 행을 결합합니다. 왼쪽 테이블에 일치하는 행이 없는 경우에도 오른쪽 테이블의 모든 행이 결과에 포함됩니다.
- 주로 LEFT JOIN과 동일한 결과를 얻기 위해 사용됩니다. 다만, LEFT JOIN의 반대 방향에서 결합을 수행합니다.
- FULL OUTER JOIN:
- FULL OUTER JOIN은 왼쪽과 오른쪽 테이블의 모든 행을 결합합니다. 즉, 양쪽 테이블에서 일치하는 행뿐만 아니라 각 테이블의 모든 행이 결과에 포함됩니다.
- 이를 통해 두 테이블 간의 모든 관계를 확인할 수 있습니다.
- CROSS JOIN:
- CROSS JOIN은 두 테이블 간의 모든 가능한 조합을 반환합니다. 따라서 왼쪽 테이블의 각 행에 대해 오른쪽 테이블의 모든 행이 결합됩니다.
- 결과는 왼쪽 테이블의 행 수와 오른쪽 테이블의 행 수를 곱한 만큼의 행을 가집니다. 따라서 CROSS JOIN은 매우 많은 결과 행을 생성할 수 있으므로 사용에 주의해야 합니다.
이러한 조인 유형은 데이터를 유연하게 결합하고 필요한 정보를 추출하는 데 도움이 됩니다. 선택한 조인 유형은 데이터의 특성과 요구 사항에 따라 결정됩니다.
'sql' 카테고리의 다른 글
인덱스와 뷰 (0) | 2024.03.02 |
---|---|
서브쿼리(Subquery) (0) | 2024.03.02 |
날짜 및 시간함수 : DATE0, TIMEO, TIMESTAMPO (0) | 2024.03.02 |
숫자함수 : SUMO, AVGO, COUNTO, MINO, MAXO (0) | 2024.03.02 |
문자열 함수: CONCAT0, SUBSTRINGO, UPPER, LOWERO (0) | 2024.03.02 |