title: Subquery vs Traditional join with WHERE clause?
body: <p>When joining to a subset of a table, any reason to prefer one of these formats over the other?</p>
  
  <p>Subquery version:</p>
  
  <pre><code>SELECT ...
  FROM Customers AS c
  INNER JOIN (SELECT * FROM Classification WHERE CustomerType = 'Standard') AS cf
      ON c.TypeCode = cf.Code
  INNER JOIN SalesReps s ON cf.SalesRepID = s.SalesRepID
  </code></pre>
  
  <p>vs the WHERE clause at the end:</p>
  
  <pre><code>SELECT ...
  FROM Customers AS c
  INNER JOIN Classification AS cf ON c.TypeCode = cf.Code
  INNER JOIN SalesReps AS s ON cf.SalesRepID = s.SalesRepID
  WHERE cf.CustomerType = 'Standard'
  </code></pre>
  
  <p>The WHERE clause at the end feels more "traditional", but the first is arguably more clear, especially as the joins get increasingly complex.</p>
  
  <p>Only other reason I can think of to prefer the second is that the "SELECT *" on the first might be returning columns that aren't used later (In this case, I'd probably only need to return cf.Code and Cf.SalesRepID)</p>