Database/SQL

[SQL] 조인 (JOIN)

서리★ 2024. 5. 15. 23:45

 

1. EQUI JOIN : 조건이 EQUAL(=)

- USING 절 사용 시, SELECT 절, USING 절에서 조인 컬럼에 ALIAS나 테이블 이름과 같은 접두사를 붙일 수 없다.

2. Non EQUI JOIN : 조건이 BETWEEN, >, <, >=, <=

3. CROSS JOIN(Cartesian product) : M X N

- FROM A, B => 크로스조인이다. (적절한 조인조건이 없을 경우)

4. STANDARD JOIN

1) INNER JOIN

- SELF JOIN : 계층형 쿼리 가능

2) OUTER JOIN

3) NATURAL JOIN :  조건 없이 사용하면 두 테이블에서 같은 이름을 가진 컬럼들이 모두 동일한 데이터를 가진 경우,

동일한 데이터를 가진 값들이 출력된다.

- EQUI JOIN만 가능

- ON 사용 불가

- USING 절로 공통된 컬럼을 JOIN해주고 나머지 컬럼들은 SELECT에서 테이블명을 컬럼 앞에 붙여 따로 출력 가능

- USING 절 사용 시,  SELECT 절, USING 절로 정의된 조인 컬럼 앞에는 별도의 ALIAS나 테이블명을 붙이지 않는다.

 

ON 조건

  • 주로 사용되는 곳: JOIN 문에서 사용됩니다.
  • 용도: 두 테이블을 조인할 때, 어떤 컬럼들을 기준으로 조인할지 지정합니다.
  • 적용 시점: 조인 과정에서, 두 테이블을 결합하기 전에 조건을 적용합니다.

WHERE 조건

  • 주로 사용되는 곳: SELECT, UPDATE, DELETE 등의 문에서 사용됩니다.
  • 용도: 테이블에서 특정 조건을 만족하는 행만을 필터링합니다.
  • 적용 시점: 조인 이후에 결과 집합에서 조건을 적용합니다.