Wikipedia:
"En matemáticas, una operación binaria es conmutativa si cambiar el orden de los operandos no cambia el resultado. Es una propiedad fundamental de muchas operaciones binarias y muchas demostraciones matemáticas dependen de ella".
Respuesta:
no, una combinación izquierda no es conmutativa. Y la unión interna es.
Pero eso no es realmente lo que estás preguntando.
Es la siguiente consulta:
TableA INNER JOIN TableB LEFT JOIN TableC LEFT JOIN TableD
(todos unidos a una columna de id) equivalente a:
TableA INNER JOIN TableB
INNER JOIN TableC
LEFT JOIN TableD
UNION
TableA INNER JOIN TableB
LEFT JOIN TableC ON TableB.c_id IS NULL
LEFT JOIN TableD
Respuesta:
También no. Uniones y uniones realmente no logran lo mismo, en términos generales. En algunos casos, es posible que pueda escribirlos de manera equivalente, pero no creo que el pseudo sql general que está mostrando. La constitución ON parece que no debería funcionar (¿tal vez algo sobre lo que no sé en MySQL?)
Aquí hay un conjunto simplificado de consultas que creo que serían equivalentes.
SELECT *
FROM TableA a
LEFT JOIN
TableB b ON a.id = b.id_a
SELECT *
FROM TableA a
INNER JOIN
TableB b ON a.id = b.id_a
UNION
SELECT *
FROM TableA a
LEFT JOIN
TableB b ON a.id = b.id_a
WHERE TableB.id IS NULL
Edición 2:
Aquí hay otro ejemplo que está más cerca de ti pero en esencia es lo mismo.
SELECT *
FROM TableA a
INNER JOIN TableB b ON a.id = b.id_a
LEFT JOIN TableC c ON b.id = c.id_b
es lo mismo que
SELECT *
FROM TableA a
INNER JOIN TableB b ON a.id = b.id_a
INNER JOIN TableC c ON b.id = c.id_b
UNION
SELECT *
FROM TableA a
INNER JOIN TableB b ON a.id = b.id_a
LEFT JOIN TableC c ON b.id = c.id_b
WHERE TableC.id IS NULL
Pero yo todavía no creas que estoy respondiendo tu verdadera pregunta.