출처 : 면접을 위한 CS 전공지식 노트

 

- SQL 조인 시각화 사이트 

https://sql-joins.leopard.in.ua/ 

 

SQL Joins Visualizer

Please select how do you want to do SQL JOIN between two table Copy SQL

sql-joins.leopard.in.ua

 

 

조인(join)이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다.

 

조인의 종류

1. 내부 조인(inner join) : 두 테이블 간의 교집합을 나타냄

select * from TableA  A 

inner join tableB B ON A.key = b.key

select * from TableA  A 
inner join tableB B ON A.key = b.key

 

2. 왼쪽 조인 (left outer join) : 테이블 B의 일치하는 부분의 레코드와 함께 테이블 A를 기준으로 완전한 레코드 집합을 생성한다. 만약 테이블 B에 일치하는 항목이 없으면 해당 값은 null 값이 된다. 

select * from TableA  A
left join TableB B ON A.key = b.key

 

3. 오른쪽 조인 (right outer join) : 테이블 A에서 일치하는 부분의 레코드와 함께 테이블 B를 기준으로 완전한 레코드 집합을 생성한다. 만약 테이블 A에 일치하는 항목이 없으면 해당 값은 null 값이 된다. 

select * from TableA  A
right join TableB B ON A.key = b.key

 

4. 합집합 조인 (full outer join) = 완전 외부 조인 : 양쪽 테이블에서 일치하는 레코드와  함께 테이블 A와 테이블 B의 모든 레코드 집합을 생성한다. 이때 일치하는 항목이 없으면 누락된 쪽에 null값이 포함되어 출력된다. 

select * from TableA  A
full join TableB B ON A.key = b.key

 

 

 

 

- left join = left outer join 과 같다.

- full outer join 에서 중복될 경우 중복 데이터 모두 출력한다. (중복 데이터 하나만 출력 하는 것 아님)

- full outer join 과 union all 과 다른 점은 ?

full outer join 합집합을 출력하며, 공통 데이터는 하나의 행으로 결합한다. union all은 조인이 아닌 단순 테이블 결과를 합치는 것 이다. 

 

추가 참고 자료

https://gyoogle.dev/blog/computer-science/data-base/Join.html

 

Join | 👨🏻‍💻 Tech Interview

Join 조인이란? 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 테이블을 연결하려면, 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로 이를 이용하여 데이터 검

gyoogle.dev

 

 

+ Recent posts