상세 컨텐츠

본문 제목

SQLD 공부 9일 차!

SQL과 데이터베이스

by 크앙크아앙 2025. 6. 5. 17:41

본문

오늘은 SQL의 꽃이라고 불리는 JOIN에 대하여 학습한 내용을 작성하도록 하겠습니다.


1. 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. 표준조인

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;

 

[결과]

'SQL과 데이터베이스' 카테고리의 다른 글

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

관련글 더보기