title: "Select Top 10, then Join Tables", instead of "Select Top 10 from Joined Tables"
body: <p>I have inherited a stored procedure which performs joins across eight tables, some of which contain hundreds of thousands of rows, then selects the top ten entries from the result of that join.</p>
  
  <p>I have enough information at the start of the procedure to select those ten rows from a single table, and then perform those joins on those ten rows, rather than on hundreds of thousands of intermediate rows.</p>
  
  <p>How do I select those top ten rows and then only do joins on those ten rows, instead of performing joins all of the thousands of rows in the table?</p>