출처 : 면접을 위한 CS 전공지식 노트
- SQL 조인 시각화 사이트
https://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
'CS' 카테고리의 다른 글
Index 인덱스 / Transaction 트랜잭션 (0) | 2024.12.04 |
---|---|
관계형 데이터베이스(RDBMS)와 NoSQL(Not Only SQL) / 레디스 Redis (0) | 2024.12.04 |
varchar와 nvarchar의 차이 (0) | 2024.12.04 |