다음을 통해 공유


셋 이상의 테이블 조인

각 조인 사양은 두 개의 테이블만 조인하지만 FROM 절은 여러 개의 조인 사양을 포함할 수 있습니다. 이렇게 하면 하나의 쿼리에 대해 여러 테이블을 조인할 수 있습니다.

AdventureWorks 데이터베이스의 ProductVendor 테이블은 둘 이상의 테이블을 조인하는 것이 유리한 상황에 대한 좋은 예를 보여 줍니다. 다음 Transact-SQL 쿼리는 특정 하위 범주의 모든 제품 이름과 해당 공급업체 이름을 찾습니다.

SELECT p.Name, v.Name
FROM Production.Product p
JOIN Purchasing.ProductVendor pv
ON p.ProductID = pv.ProductID
JOIN Purchasing.Vendor v
ON pv.VendorID = v.VendorID
WHERE ProductSubcategoryID = 15
ORDER BY v.Name

결과 집합은 다음과 같습니다.

Name                                               Name
LL Mountain Seat/Saddle                            Chicago City Saddles
ML Mountain Seat/Saddle                            Chicago City Saddles
HL Mountain Seat/Saddle                            Chicago City Saddles
LL Road Seat/Saddle                                Chicago City Saddles
ML Road Seat/Saddle                                Chicago City Saddles
HL Road Seat/Saddle                                Chicago City Saddles
LL Touring Seat/Saddle                             Chicago City Saddles
ML Touring Seat/Saddle                             Chicago City Saddles
HL Touring Seat/Saddle                             Chicago City Saddles
HL Touring Seat/Saddle                             Expert Bike Co
ML Touring Seat/Saddle                             Expert Bike Co
LL Touring Seat/Saddle                             Expert Bike Co
HL Road Seat/Saddle                                First Rate Bicycles
LL Mountain Seat/Saddle                            First Rate Bicycles
ML Mountain Seat/Saddle                            First Rate Bicycles
LL Road Seat/Saddle                                Hill's Bicycle Service
ML Road Seat/Saddle                                Hill's Bicycle Service
HL Mountain Seat/Saddle                            Hybrid Bicycle Center

(18 row(s) affected)

FROM 절에 지정된 테이블 중 하나인 ProductVendor의 열은 결과에 나타나지 않습니다. 또한 조인된 열인 ProductID 및 VendorID도 결과에 나타나지 않습니다. 하지만 ProductVendor를 중간 테이블로 사용하면 이러한 조인이 가능합니다.

ProductVendor는 조인에 포함된 다른 테이블의 중간 연결점이 되므로 조인의 중간 테이블인 ProductVendor 테이블을 변환 테이블이라고도 합니다.

둘 이상의 테이블을 조인하거나 둘 이상의 열 쌍을 조인하기 위해 동일한 문에 조인 연산자가 여러 개 있을 경우 조인 식을 AND 또는 OR로 연결할 수 있습니다.