Senior
Detailed answer
APPLY
SQL & Databases
What is CROSS APPLY vs OUTER APPLY?
Short answer: APPLY invokes a table-valued expression per outer row. CROSS APPLY is like INNER JOIN (outer row must produce rows). OUTER APPLY is like LEFT JOIN (keeps outer rows with NULLs). Useful for TOP N per group and TVFs.
Sample solution
T-SQL
-- Top 2 orders per customer
SELECT c.CustomerId, c.Name, o.OrderId, o.Amount
FROM Customers c
CROSS APPLY (
SELECT TOP (2) OrderId, Amount
FROM Orders o
WHERE o.CustomerId = c.CustomerId
ORDER BY Amount DESC
) o;
TOP N per group via CROSS APPLY is a classic SQL Server interview flex.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png