본문 바로가기
IT Programming/Oracle

[Oracle] 쿼리의 조인 VOL.3) Multiple Join 다중 테이블 조인?

by Euniieunii 2023. 4. 19.

[  다중 테이블 조인 ]

: 세개 이상의 테이블이 조인 될때는!

-> 조인조건1 테이블 A = 테이블 B

-> 테이블 A와 테이블 B의 관계가 형성된 상태
-> 
테이블 A와 테이블 B 중에서 세번째인 테이블 C와 관련있는 컬럼을 가지고 있는 테이블로 다시 조인한다.

-> 조인조건2 테이블 B = 테이블 C
-> 테이블 B와 테이블 C의 관계 형성

= 테이블 A와 테이블 C는 자동으로 관계가 형성된다.

ANSI SQL 방식으로 다중조인 (Multi Table JOIN) 을 하면?
( + ANSI SQL 표준: 어던 DBMS에서도 실행되는 쿼리의 형태 = 어떤 DBMS를 쓰더라도 문제없이 실행이 된다. )

 

-- 다중조인 예시
-- 다중조인을 만드는 방법

SELECT *
FROM table1
INNER JOIN table2
    ON table1.컬럼명 = table2.컬럼명
INNER JOIN table3
    ON table2.컬럼명 = table3.컬럼명

--위의 예시에서는 table1, table2, table3 세 개의 테이블을 조인
--INNER JOIN을 사용, 각각의 JOIN 사이에 ON 절을 사용하여 조인 조건을 지정.


SELECT *
FROM table1 AS t1
INNER JOIN table2 AS t2
    ON t1.컬럼명= t2.컬럼명
INNER JOIN table3 AS t3
    ON t2.컬럼명 = t3.컬럼명
--위의 예시에서는 table1에 대한 별칭을 t1, table2에 대한 별칭을 t2, 
--table3에 대한 별칭을 t3로 지정하여 조인
--조인 대상 테이블의 수에 따라 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 등 
--다양한 조인 방법을 사용할 수 있으며, 각 조인 방법에 따라 조인 조건과 결과가 다르게 나타날 수 있다.
  • 각 테이블의 이름 뒤에 AS를 사용하여 테이블에 대한 별칭을 지정할 수 있으며, 이를 통해 가독성을 높일 수 있다.
  • 조건의 테이블 관계형성 순서는 정해져 있지 않고 아무관계나 먼저 생성해도 된다.
  • 조인 순서에 따라 결과가 달라질 수 있으니 조인할 테이블 순서를 고려하여 적절한 순서로 조인을 해야한다.
  • 조인조건을 정확하게 지정해야 결과가 어긋나지 않는다.

댓글