[SQL] JOIN, UNION

김아름·2022년 8월 13일
0

SQLD

목록 보기
5/11
post-thumbnail



JOIN

: 테이블 간의 결합, 집합과 유사

- 테이블에서 동일한 컬럼을 찾기

- 테이블 간 결합의 key가 되는 컬럼 찾기

- JOIN 방식에 따라 결과가 달라지기 때문에 key 컬럼값 간의 일치도 파악



1. INNER JOIN

  • 위 다이어그램의 맨 아래 상자에 FROM GENDER A, AGE B로 변경하기

* JOIN 후 특정 행만 호출 할 때


* 3개 이상 테이블을 JOIN 할 때



2. OUTER JOIN



3. LEFT JOIN



3. RIGHT JOIN



4. SELF JOIN

  • 한 테이블 내에서 연관관계를 가진 두 컬럼 간의 조인
  • 테이블명과 컬럼명이 모두 일치하기 때문에 반드시 ALIAS를 써야함
SELECT T1.col1, T2.col1
FROM 테이블명1 T1, 테이블명2 T2
WHERE T1.col1 = T1.col1





UNION, UNION ALL

: 동일한 컬럼 개수와 데이터타입을 가진 테이블을 (세로로) 합쳐줌

1. UNION

  • 중복된 레코드가 제거 됨



2. UNION ALL

  • 중복된 레코드가 제거 안됨



JOIN 과 UNION 비교



MINUS(ORACLE) = EXCEPT(SQL SERVER)

  • A테이블 정보 중에서 B테이블 정보를 빼고 보여줌



EQUI JOIN, non-EQUI JOIN

1. EQUI JOIN

  • 동일한 컬럼을 사용하여 두 릴레이션을 결합
    ex) A.key = B.key

2.non-EQUI JOIN

  • 정확하게 일치하지 않는 컬럼을 사용하여 두 릴레이션을 결합
    ex) A.key <, >, <=, >= B.key



CROSS JOIN

  • 서로 연관된 컬림이 없는 경우 수행하는 조인
  • key 없이 JOIN 하면 2개의 테이블에 대해 카테시안 곱 발생
profile
쿄쿄쿄

0개의 댓글