Los INNER JOIN (o solamente JOIN para abreviar) y los LEFT JOIN pueden usarse repetidas veces en una sola consulta, por ejemplo:

SELECT
   P.PRD_CODSUC,
   S.SUC_NOMBRE AS PRD_NOMSUC,
   P.PRD_CODMAR,
   M.MAR_NOMBRE AS PRD_NOMMAR,
   P.PRD_CODIGO,
   P.PRD_NOMBRE
FROM
   PRODUCTOS  P
JOIN
   SUCURSALES S
      ON P.PRD_CODSUC = S.SUC_CODIGO
LEFT JOIN
   MARCAS     M
      ON P.PRD_CODSUC = M.MAR_CODSUC AND
         P.PRD_CODMAR = M.MAR_CODIGO

En el SELECT de arriba hay un INNER JOIN (la palabra INNER no se escribió pero está implícita) y un LEFT JOIN. El INNER JOIN relaciona a la tabla de PRODUCTOS con la tabla de SUCURSALES. El resultado de esa relación es a su vez relacionado con la tabla de MARCAS mediante el LEFT JOIN.

¿Qué significa eso?

Que el primer conjunto de resultados (llamémosle CR1) estará compuesto por todas las filas de la tabla de PRODUCTOS cuyos valores en la columna PRD_CODSUC tengan un valor correspondiente en la columna SUC_CODIGO de la tabla de SUCURSALES. Por lo tanto:

    • Si en la columna PRD_CODSUC tenemos el número 5 y ese número 5 no existe en la columna SUC_CODIGO, esa fila de la tabla de PRODUCTOS no será mostrada
    • Si en la columna SUC_CODIGO tenemos el número 9 y el número 9 no existe  en la columna PRD_CODSUC, esa fila de la tabla de SUCURSALES no será mostrada

Este conjunto de resultados CR1 puede estar compuesto por todas las filas de la tabla PRODUCTOS (en el caso de que todos los valores de la columna PRD_CODSUC tengan un valor igual en la columna SUC_CODIGO) o por solamente algunas filas de la tabla PRODUCTOS (si algunos valores de PRD_CODSUC no tienen un valor igual en SUC_CODIGO) o inclusive por ninguna fila (eso sería en el caso de que ningún valor en PRD_CODSUC tenga un valor igual en SUC_CODIGO)

Este conjunto de resultados CR1 es luego relacionado con la tabla de MARCAS mediante un LEFT JOIN. Como es un LEFT JOIN el conjunto de resultados CR2 estará compuesto por todas las filas del conjunto de resultados CR1, sí o sí. ¿Por qué eso? porque el LEFT JOIN siempre devuelve todas las filas de la tabla, vista, stored procedure seleccionable que se encuentra a la izquierda. Por lo tanto:

CR1 —> LEFT JOIN (una Tabla, una vista, un stored procedure seleccionable, un conjunto de resultados) —> CR2

El conjunto de resultados CR2 estará compuesto por todas las filas de CR1 y desde esas filas se podrá relacionar a las filas de la tabla, vista, stored procedure seleccionable, que se encuentra a continuación de la palabra JOIN