Можно ли использовать INNER JOIN без ключевого слова ON?

При отладке кода Oracle я наткнулся на такой запрос:

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

Меня смущает строка:

INNER JOIN TPM_TASK

Я не видел JOINбез Предложение ONранее. Также сбивает с толку строка:

ON TPM_GROUP.GROUPID = TPM_GROUPTASKS.GROUPID

Это похоже на случайное предложение ONбез какого-либо соответствия JOIN. Запрос выполняется без каких-либо ошибок и возвращает кучу данных, так что очевидно, что синтаксис абсолютно корректен. Кто-нибудь может пролить свет на то, что именно здесь происходит?

16
задан Mike Christensen 1 June 2012 в 19:08
поделиться