티스토리 뷰

🌈 MsSql

outer apply VS left join 차이점

James Wetzel 2023. 3. 29. 17:34

SQL Server에서 OUTER APPLY는 LEFT JOIN 대신 사용할 수 있으며 성능이 훨씬 더 좋습니다(항상 그렇지는 않음). OUTER APPLY는 LEFT JOIN보다 더 많은 작업을 수행할 수 있습니다. 

 

각 외부 행에 대해 임의의 내부 결과 집합을 생성할 수 있습니다. 

예를 들어 OUTER APPLY는 TOP 1 ORDER BY… 행을 조인할 수 있습니다. 그러나 LEFT JOIN은 그렇게 할 수 없습니다.

 

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

 

SELECT M.ID,M.NAME,D.PERIOD,D.QTY
FROM MASTER M
OUTER APPLY (
  SELECT TOP 2 ID, PERIOD,QTY
  FROM DETAILS D
  WHERE M.ID=D.ID
  ORDER BY CAST(PERIOD AS DATE) DESC
) D;
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함