Join (DBMS)

위수현·2023년 2월 13일
0

Join

Join 조인이란?

🔎 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법으로 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여주는 것

Join의 기본 사용 방법

🔎 두 개의 테이블에 하나라도 같은 컬럼이 있어야 한다.

🔎 두 컬럼의 값은 공유되어야 한다.

🔎 보통 조인을 위해 기본키(Primary key)와 외래키(Foreign Key)를 활용한다.

inner join

🔎 각 테이블에서 조인 조건에 일치되는 데이터만
가져온다.

🔎 inner join은 교집합이라고도 말한다.

select * from table_A t1		
// 알리아스 꼭 필요
inner join table_B t2


-> 데이터 호출 가능 리스트

<예제>

outer join

🔎 조인 조건에 일치하는 데이터 및 일치하지 않은 데이터를 모두 select한다.

🔎 조인 조건에 일치하는 데이터가 없다면 NULL로 가져온다.

🔎 Outer Join은 Inner Join과는 다르게 주(main) 테이블이 어떤 테이블인지가 중요하다. 그래서 어떤 테이블이 중심이 되느냐에 따라 다시 Left Outer Join, Right Outer Join, Full Outer Join 으로 세분화 할 수 있다.

🔎 Left Outer Join은 왼쪽에 있는 테이블이,
Right Outer Join은 오른쪽에 있는 테이블이,
Full Outer Join은 양쪽 테이블이 모두가 중심(주)이라는 뜻이다.

select * from table_A t1		
// 알리아스 꼭 필요
outer join table_B t2

<예제>

Left Outer Join

🔎 왼쪽 테이블이 기준이 된다

🔎 조인 조건에 부합하는 데이터가 조인 당하는
테이블(오른쪽)에 있으면 해당 테이블을, 부재하면 NULL로 select된다.

select * from table_A t1		
// 알리아스 꼭 필요
left outer join table_B t2

<예제>

Right Outer Join

🔎 오른쪽 테이블이 기준이 된다

🔎 조인 조건에 부합하는 데이터가 조인 당하는
테이블(왼쪽)에 있으면 해당 테이블을, 부재하면 NULL로 select된다.

select * from table_A t1		
// 알리아스 꼭 필요
right outer join table_B t2

full outer join

🔎 양쪽 테이블이 기준이 된다

🔎 조인 조건에 부합하는 데이터가 조인 당하는 테이블(왼쪽 or 오른쪽)에 있으면 해당 테이블을, 부재하면 NULL로 select된다.

select * from table_A t1		
// 알리아스 꼭 필요
full outer join table_B t2

-> 형식은 다 알아야 하지만 실무에서는 inner join과 left outer join 이 두 가지를 많이 사용한다.

ANSI Join vs Oracle Join

🔎 SQL은 데이터베이스를 관리하기 위해 만들어진
프로그래밍 언어이며, 데이터베이스를 관리해주는
대부분의 DBMS들은 SQL을 사용한다. 물론 DBMS
자체의 특수성 때문에 SQL의 사용법이 조금씩
다르기도 하지만, 큰 틀에서 보면 나름대로의
보편성을 가지고 있다.

🔎 ANSI 미국 국립 표준 협회에서도 SQL에
대한 보편적인 문법을 제시하고 있는데, 그것이
바로 ANSI Query이다. Join도 마찬가지로
ANSI 문법을 사용하는 경우가 대부분이다.

<실습>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

profile
수현

0개의 댓글