250x250
Notice
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Today
Total
관리 메뉴

serendipity

Join 본문

Study/SQL

Join

z 2021. 7. 7. 20:00
728x90

JOIN , 조인이란 ?

: 둘 이상의 테이블을 연결해서 데이터를 검색하는 방법

 

People 테이블

PersonID FirstName LastName
1 Jaemin Na
2 Yoona Lim
3 Taehyung Kim

 

Address 테이블

AddressId PersonID Place
5 2 Suwon
6 2 Gangnam
7 3 Daejeon

1) INNER JOIN 

: 데이터의 교집합 , 공통적인 부분만 SELECT

 

SELECT p.personId, p.firstName, a.addressId, a.place				
FROM Person AS p					
     INNER JOIN Address AS a ON p.personId = a.personId

 

OUTPUT)

PersonID FirstName AddressID Place
2 Yoona 5 Suwon
2 Yoona 6 Gangnam

 


2) LEFT JOIN 

: 왼쪽 테이블을 중심으로 오른쪽의 테이블 매치 

* 왼쪽은 무조건 표시하고, 매치되는 레코드가 오른쪽에 없으면 NULL을 표시한다.

 

SELECT p.personId, p.firstName, a.addressId, a.place				
FROM Person AS p					
     LEFT JOIN Address AS a ON p.personId = a.personId

 

OUTPUT)

PersonID FirstName AddressID Place
1 Jaemin NULL NULL
2 Yoona 5 Seoul
2 Yoona 6 Gangnam
3 Taehyung 7 Daejeon

 


3) RIGHT JOIN 

: 오른쪽 테이블을 중심으로 왼쪽의 테이블 매치 

* 오른쪽은 무조건 표시하고, 매치되는 레코드가 왼쪽에 없으면 NULL을 표시한다.

 

SELECT a.addressId, a.place, p.personId, p.firstName			
FROM Person AS p					
     RIGHT JOIN Address AS a ON p.personId = a.personId

 

 

OUTPUT)

AddressID Place PersonID FirstName
5 Suwon 2 Yoona
6 Gangnam 2 Yoona
7 Daejeon 3 TaeHyung

 


4) FULL OUTER JOIN

: 왼쪽 오른쪽 테이블 데이터를 모두 읽어 중복된 데이터를 삭제한 결과 , 합집합

 

SELECT p.personId, p.firstName , a.addressId		
FROM Person AS p					
     FULL OUTER JOIN Address AS a ON p.personId = a.personId

 

728x90

'Study > SQL' 카테고리의 다른 글

Union  (0) 2021.07.07
Group / Order by  (0) 2021.07.07
Comments