title: SQL Filter criteria in join criteria or where clause which is more efficient
body: <p>I have a relatively simple query joining two tables.  The "Where" criteria can be expressed either in the join criteria or as a where clause.  I'm wondering which is more efficient.</p>
  
  <p>Query is to find max sales for a salesman from the beginning of time until they were promoted.</p>
  
  <p>Case 1</p>
  
  <pre><code>select salesman.salesmanid, max(sales.quantity)
  from salesman
  inner join sales  on salesman.salesmanid =sales.salesmanid 
                    and sales.salesdate &lt; salesman.promotiondate
  group by salesman.salesmanid 
  </code></pre>
  
  <p>Case 2</p>
  
  <pre><code>select salesman.salesmanid, max(sales.quantity)
  from salesman
  inner join sales  on salesman.salesmanid =sales.salesmanid 
  where sales.salesdate &lt; salesman.promotiondate
  group by salesman.salesmanid 
  </code></pre>
  
  <p>Note Case 1 lacks a where clause altogether</p>
  
  <p>RDBMS is Sql Server 2005</p>
  
  <p><strong>EDIT</strong>
  If the second piece of the join criteria or the where clause was sales.salesdate &lt; some fixed date so its not actually any criteria of joining the two tables does that change the answer.</p>