[Database] <Database SQL> JOIN

Hyeok·2023년 3월 29일
1

CS

목록 보기
10/12
  • JOIN이란?

    두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법
    --> 테이블을 연결하려면 , 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로
    이를 이용하여 데이터 검색에 활용한다.

JOIN 종류

  1. INNER JOIN
  2. LEFT OUTER JOIN
  3. RIGHT OUTER JOIN
  4. FULL OUTER JOIN
  5. CROSS JOIN
  6. SELF JOIN

1. INNER JOIN(내부 조인)

두 테이블을 연결할 때 가장 많이 사용하는 것이 INNER JOIN 이라고한다.

1.
SELECT 조회할 컬럼
FROM TABLE 1 , TABLE 2
[WHERE 조건문]

2.
SELECT 조회 컬럼
FROM TABLE1
(INNER) JOIN TABLE 2
ON TABLE 1 .컬럼 = TABLE 2.컬럼 
[WHERE 추가조건 ]

2.OUTER JOIN(외부조인)

INNER JOIN은 두 테이블에 모두 데이터가 존재해야 결과가 나오지만 , 외부조인은 한쪽에만 데이터가 있어도 결과가 나옵니다.

SELECT <열 목록>
FROM <첫 번쨰 테이블(LEFT TABLE)>
	<LEFT | RIGHT | FULL> OUTER JOIN <두 번째 TABLE(RIGHT 테이블)>
    ON <조인 조건> 
    [WHERE 검색 조건]
  • 참고) OUTER JOIN의 종류
  1. RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값이 출력되는 조인
  2. LEFT OUTER JOIN : 왼쪽 테이블의 모든 값이 출력되는 조인
  3. FULL OUTER JOIN : 왼쪽 or 오른쪽 테이블의 모든 값이 출력되는 조인

3. CROSS JOIN(상호 조인)

한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능입니다.
상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼 됩니다. 카티션 곱(CARTESIAN PRODUCT)이라고도 합니다.

SELECT *
FROM <첫 번째 TABLE> 
	CROSS JOIN <두 번째 TABLE>

SELF JOIN

SELF JOIN은 자기 자신과 조인하므로 1개의 TABLE만 사용한다
별도의 문법이 있는건 아니고 1개로 조인하면 자체 조인한다.

SELECT <열 목록>
FROM <TABLE> 별칭A
	INNER JOIN <테이블> 별칭B
    [WHERE 검색 조건]

😄정리
1. INNER JOIN = 기준 테이블과 조인 테이블에 모두에 조인 컬럼 데이터가 존재해야 조회된다
2. OUTER JOIN = 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
3.CROSS JOIN = 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.
4. SELF JOIN = 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.

profile
안녕하세요.

4개의 댓글

comment-user-thumbnail
2023년 3월 30일

예시가 쿼리와 그림으로 돼있어서 이해가 잘 됩니다

답글 달기
comment-user-thumbnail
2023년 3월 30일

한번 더 요약 정리를 해주셔서 한 눈에 들어오는것 같아요 ! 잘봤습니당 🙌

답글 달기
comment-user-thumbnail
2023년 3월 30일

JOIN에 대해 다시 복습할 수 있어서 좋았던 것 같습니다.

답글 달기
comment-user-thumbnail
2023년 3월 30일

그림예시가 자세하게 있어 이해하기 쉬운 것 같아요! 결과 테이블 예시도 있으면 더 좋을것같습니다.

답글 달기