You can use OUTER APPLY as a correlated subquery.  This is also known as a LATERAL join or view in some RDBMSs (Oracle, PostgreSQL).  It looks like a LEFT JOIN, but it generally performs much better.
Real life example, when to use OUTER / CROSS APPLY in SQL
SELECT pr.name,
       pa.name
FROM   sys.procedures pr
       OUTER APPLY (SELECT TOP 2 *
                    FROM   sys.parameters pa
                    WHERE  pa.object_id = pr.object_id
                    ORDER  BY pr.name) pa
ORDER  BY pr.name,
          pa.name
That question links to an article with several solutions for the "greatest N per group" problem.  It doesn't format well for me, but it does seem to be a good article otherwise.