Estoy estudiando inner joins y soy un hombre WHERE SQL-92. Me gustaría saber las implicaciones y entender cómo funciona. Así que esta es solo una pregunta teórica sobre SQL se une. es esto ...Anidados INNER JOIN vs INNER JOIN vs WHERE: corrección, rendimiento, claridad para un caso particular (no es un problema típico de JOIN vs WHERE)
SELECT * FROM -- Query 1
tbl1
INNER JOIN (
tbl2
INNER JOIN (
tbl3 INNER JOIN tbl4 ON tbl3.Col1 = tbl4.Col1
)
ON tbl2.col1 = tbl3.col2
)
ON tbl1.col1 = tbl3.col3
... lo mismo que esto?
SELECT * FROM -- Query 2
tbl3
INNER JOIN tbl4 ON tbl3.col1 = tbl4.col1
INNER JOIN tbl2 ON tbl2.col1 = tbl3.col2
INNER JOIN tbl1 ON tbl1.col1 = tbl3.col3
... o esto (no ordenado por resolución lógica)?
SELECT * FROM -- Query 3
tbl3
INNER JOIN tbl1 ON tbl1.col1 = tbl3.col3
INNER JOIN tbl2 ON tbl2.col1 = tbl3.col2
INNER JOIN tbl4 ON tbl3.col1 = tbl4.col1
..o este (nodo de referencia cambió; ver que hay una tabla de referencia antes de que se cita, pero el producto cartesiano debería ser el mismo)
SELECT * FROM -- Query 4
tbl4
INNER JOIN tbl1 ON tbl1.col1 = tbl3.col3
INNER JOIN tbl2 ON tbl2.col1 = tbl3.col2
INNER JOIN tbl3 ON tbl4.col1 = tbl3.col1
..o esto?
SELECT * FROM -- Query 5
tbl1,tbl2,tbl3,tbl4
WHERE
tbl3.col1 = tbl4.col1
tbl2.col1 = tbl3.col2
tbl1.col1 = tbl3.col3
... ¿desde puntos de vista estéticos, sintácticos, mejores prácticas y funcionales?
¡Es una pregunta muy abierta, pero creo que es muy interesante para la comunidad arrojar algo de luz!