title: Difference between ON and WHERE clauses in SQL table joins
body: <pre><code>select e.last_name, e.hire_date
  from employees e join employees m
  on (m.last_name = 'Davies')
  and (e.hire_date &gt; m.hire_date);
  
  select e.last_name, e.hire_date
  from employees e join employees m
  on (m.last_name = 'Davies')
  where (e.hire_date &gt; m.hire_date);
  
  select e.last_name, e.hire_date
  from employees e join employees m
  on (e.hire_date &gt; m.hire_date)
  where (m.last_name = 'Davies');
  </code></pre>
  
  <p>These three statements have the same result. Apart from the fact that <code>where</code> cannot be used exclusively, without using <code>on</code>, is there any particular reason to use <code>where</code> at all in table joins?</p>