MySQL tiene una sintaxis bastante flexible comparada con MS SQL al momento de hacer JOINs. En MySQL puedes hacer un JOIN de dos maneras, sin embargo, sería conveniente hacerlo de la forma de MS SQL de manera de que el código sea más portable.

En MySQL pudes hacer un múltiple JOIN (JOIN entre varias tablas) de la siguiente manera:

SELECT  *
FROM    tabla1
    INNER JOIN tabla2 ON tabla1.id=tabla2.id
    INNER JOIN tabla3 ON tabla2.id2=tabla3.id2


En esta consulta, los JOINS son ejecutados secuencialmente, primero se hacer el primer JOIN, cuando está listo se hace el siguiente, luego el siguiente y así sucesivamente.

En MS SQL, la sintaxis para el múltiple JOIN necesita hacerse de la siguiente forma (también soportada por MySQL):

SELECT  *
FROM    tabla1
INNER JOIN
    (tabla2 INNER JOIN tabla3 ON tabla2.id2=table3.id2)
    ON tabla1.id=tabla2.id


En esta consulta, los JOINs son ejecutados de adentro hacia afuera. Primero se ejecuta el JOIN entre paréntesis más internos, luego el siguiente fuera de los paréntesis, luego el siguiente y así sucesivamente.

Vía: VXT