본문 바로가기
IT ▶/Database

[데이터베이스 SQL] 쿼리 JOIN 개념 및 JOIN 사용방법

by Jordan_ 2019. 11. 12.
728x90
반응형

 

 

안녕하세요.!!!

 

 

데이터베이스 SQL 쿼리에서 JOIN 문법에 대해서 알아보겠습니다.

 

 

데이터베이스 쿼리를 사용하다보면 여러 table에서 데이터를 조회하고 싶은 경우가 있습니다.

 

 

테이블 간에는 동일한 컬럼과 데이터를 보관하고 있어서

해당 테이블 간의 관계가 연결되면 조합하여서 원하는 데이터를 조회할 수 있습니다.

 

 

Join 은 여러 테이블을 조합하여 데이터를 조회하고자 할 때 사용합니다.

 

 

<A 테이블>

이름

선수번호

포지션

Gerrard

8

MF

Messi

10

FW

Puyol

29

DF

 

<B 테이블>

포지션

훈련전술

훈련시간

FW

A

10

MF

B

15

DF

C

20

 

<조회 결과>

이름

훈련전술

Gerrard

B

Messi

A

Puyol

C

 

 

 

위와 같이 A, B 테이블의 Join을 사용하여 동일하게 갖고 있는 포지션 키값을 통해

A 테이블에서 선수에 해당하는 B 테이블의 훈련전술을 조회할 수 있습니다.

 

 

 

Join은 오라클 join ansi join 구문이 있습니다.

 

 

 

1> 오라클 Join 구문

 

Select a.name, b.name

From team a, nation b

;

 

2> Ansi Join 구문

 

Select a.name, b.name

From team a CROSS JOIN nation b

;

 

 

저는 보통 ORACLE JOIN을 사용합니다.

 

아래와 같이 3개의 테이블에서 JOIN을 사용하면 조금 다른 문법이 됩니다.

 

 

Oracle join

 

SELECT a.name “선수이름”, b.nation “선수국적”

FROM team a, nation b, league c

WHERE a.name = b.name

And a.number = c.number

;

 

Ansi join

 

SELECT a.name “선수이름”, b.nation “선수국적”

FROM team a JOIN nation b

ON a.name = b.name

JOIN league c

ON a.number = c.number

 

 

위와 같이 등가 조건의 경우 모든 테이블에 데이터가 존재하는 경우 조회되는 케이스를 INNER JOIN 이라고 합니다.

 

하지만 어느 테이블에 해당 컬럼이 비어있는 경우 그 데이터는 아예 조회되지 않습니다.

 

선수는 있지만 포지션이 아직 없다면 선수들의 포지션을 조회하고자 할 때 해당 선수는 아예 조회되지 않습니다.

 

 

아래는 OUTER JOIN 정리해두었습니다. 

필요하시면 참고하세요!!!

 

 

https://lovefor-you.tistory.com/195

 

[데이터베이스 SQL] OUTER JOIN 개념 및 JOIN 사용방법

안녕하세요. OUTER JOIN 에 대해 알아보겠습니다. ** OUTER JOIN INNER 조인과 반대로 여러 테이블을 같이 조합해서 조회하고자 할 때 사용 한쪽 테이블에는 데이터가 없어도 한쪽 테이블에는 있으면 데이터가 있..

lovefor-you.tistory.com

 

 

저도 필요해서 찾아봐서 정리하였는데 도움이 되셨으면 해서 작성하였습니다~!

 

 

조금이나마 도움이 되셨으면 좋아요 하트♥나 구독 부탁드립니다~!


파이팅 하시고 좋은 하루 되세요!!

 

 

728x90
반응형