w3 school 의 데이터베이스를 이용하였다.

 

나는 Orders 와 Customers 와 Shippers 라는 테이블을 갖고 있다.

이 세 개의 테이블을 한번에 join 하고 싶다.

 

<Orders>

 

<Customers>

 

<Shippers>

 

절차는 아래와 같다.

세 개의 테이블을 join 하기 위해선 두 번의 join 과정을 거치면 된다.

 

먼저 Orders.CustomerID = Customers.CustomerID 로 join 한다.

join 하고 나온 결과 테이블(Result 라고 하자)을 이용하여 아래처럼 다시 join 한다.

Result.ShipperID = Shippers.ShipperID 로 join 한다.

 

구체적인 쿼리는 아래와 같다.

 


SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);

 

초록색이 첫번째 join , 파란색이 두번째 join 이다.

 

만약 이름이 헷갈린다면 as 를 사용하여 쉽게 만들 수 있다.


SELECT o.OrderID, c.CustomerName, s.ShipperName
FROM ((Orders as o
INNER JOIN Customers as c ON o.CustomerID = c.CustomerID)
INNER JOIN Shippers as s ON o.ShipperID = s.ShipperID);

SELECT o.OrderID, c.CustomerName, s.ShipperName
FROM ((Orders as o
INNER JOIN Customers as c ON o.CustomerID = c.CustomerID) as result
INNER JOIN Shippers as s ON result.ShipperID = s.ShipperID);

 

모두 같은 결과를 보인다.

 

+ Recent posts