title: Can you have an INNER JOIN without the ON keyword?
body: <p>While debugging into some Oracle code, I came across this query:</p>
  
  <pre><code>SELECT TPM_TASK.TASKID FROM TPM_GROUP 
  INNER JOIN TPM_USERGROUPS ON TPM_GROUP.GROUPID = TPM_USERGROUPS.GROUPID 
  INNER JOIN TPM_TASK
  INNER JOIN TPM_GROUPTASKS ON TPM_TASK.TASKID = TPM_GROUPTASKS.TASKID 
  INNER JOIN TPM_PROJECTVERSION ON TPM_TASK.PROJECTID = TPM_PROJECTVERSION.PROJECTID AND TPM_TASK.VERSIONID = TPM_PROJECTVERSION.VERSIONID 
  INNER JOIN TPM_TASKSTAGE ON TPM_TASK.STAGEID = TPM_TASKSTAGE.STAGEID 
  INNER JOIN TPM_PROJECTSTAGE ON TPM_PROJECTVERSION.STAGEID = TPM_PROJECTSTAGE.STAGEID 
  ON TPM_GROUP.GROUPID = TPM_GROUPTASKS.GROUPID
  </code></pre>
  
  <p>I'm confused by the line:</p>
  
  <pre><code>INNER JOIN TPM_TASK
  </code></pre>
  
  <p>I haven't seen a <code>JOIN</code> without an <code>ON</code> clause before.  Also confusing is the line:</p>
  
  <pre><code>ON TPM_GROUP.GROUPID = TPM_GROUPTASKS.GROUPID
  </code></pre>
  
  <p>This seems like a random <code>ON</code> clause without any matching <code>JOIN</code>.  The query runs without any errors, and returns a bunch of data, so obvious the syntax is perfectly valid.  Can someone shed some light on exactly what's going on here?</p>