¿Puede tener un INNER JOIN sin la palabra clave ON?
Mientras depuraba en algún código de Oracle, encontré esta consulta:
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
Estoy confundido por la línea:
INNER JOIN TPM_TASK
No he visto unJOIN
sin unON
cláusula anterior. También confusa es la línea:
ON TPM_GROUP.GROUPID = TPM_GROUPTASKS.GROUPID
Esto parece un azarON
cláusula sin ninguna coincidenciaJOIN
. La consulta se ejecuta sin ningún error y devuelve un montón de datos, por lo que la sintaxis es perfectamente válida. ¿Alguien puede arrojar algo de luz sobre lo que está pasando aquí?