오늘은 SQL의 꽃이라고 불리는 JOIN에 대하여 학습한 내용을 작성하도록 하겠습니다.
- 조인(JOIN)은 두 개의 테이블을 하나로 병합하는 것을 의미한다
- 테이블간의 PK와 FK간의 연관성에 의하여 성립이 가능하다
- PK와 FK간의 연관성이 없더라도 두 테이블간의 논리적인 값들의 연관만으로도 조인의 성립이 가능하다
1) EQUI JOIN
- 등식을 조건으로 사용할 때 발생하는 조인
[예시]
SELECT ArtistID
FROM Arstists A, Albums B
WHERE A.ArtistID = B.ArtistID;
2) NON EQUI JOIN
- 범위를 나타낸 조건일 때 발생하는 조인
- 칼럼값이 일치하는 경우에 대한 조인을 제외한 모든 조인
[예시1]
SELECT Salary
FROM Employee E, Salary S
WHERE E.Sales BETWEEN S.MinSalary AND S.MaxSalary;
[예시2]
SELECT Salary
FROM Employee E, Salary S
WHERE E.Sales >= S.MinSalary AND E.Sales <= S.MaxSalary;
3) OUTER JOIN
- 조인 조건에 맞지 않는 행까지 포괄적으로 병합하는 방법
- 합집합의 개념
- (+)기호가 붙지 않는 쪽 테이블이 기준 테이블
[예시]
SELECT ArtistID
FROM Arstists A, Albums B
WHERE A.ArtistID = B.ArtistID(+);
1) INNER JOIN
- 교집합의 개념
- 기준이 되는 키(PK)에 따른 칼럼값이 존재하는 것만 병합
2) OUTER JOIN
- 합집합의 개념
- 기준이 되는 키의 칼럼 값에 존재하지 않더라도 모든 행을 병합
1. LEFT OUTER JOIN
- 왼쪽 테이블의 모든 행을 포함시키면서 병합
2. RIGHT OUTER JOIN
- 오른쪽 테이블의 모든 행을 포함시키면서 병합
3. FULL OUTER JOIN
- 양쪽 테이블의 모든 행을 포함시키면서 병합
3) NATURAL JOIN
- 같은 이름을 가진 칼럼의 칼럼값이 같은 행만 병합
4) CROSS JOIN
- JOIN 조건이 별도로 존재하지 않는 JOIN
- 모든 경우의 수 표현

[예문]
SELECT N.Student_Name, C.Club_Name
FROM Student_name N, Club_Name C;
[결과]

| SQLD 공부 11일 차! (0) | 2025.06.09 |
|---|---|
| SQLD 공부 10일 차! (7) | 2025.06.08 |
| SQLD 공부 7일 차 (1) | 2025.06.04 |
| SQLD 공부 6일 차 (2) (3) | 2025.06.02 |
| SQLD 공부 6일 차! (1) | 2025.05.30 |