No hay un tipo de unión "mejor" o "peor". Tienen un significado diferente y deben usarse dependiendo de ello.
En su caso, es probable que no tiene empleados sin work_log (no hay filas de esa tabla), por lo que LEFT JOINy JOINserá equivalente en los resultados. Sin embargo, si tuviera tal cosa (un nuevo empleado sin registro de trabajo registrado), un usuario omitiría a JOINese empleado, mientras que una combinación izquierda (cuya primera tabla es empleados) los mostraría a todos, y nulos en los campos de work_log si hubiera No son partidos.

Nuevamente, el rendimiento es una cosa secundaria para la corrección de la consulta. Algunas personas dicen que no deberías usar LEFT JOINs. Es cierto que una IZQUIERDA IZQUIERDA obliga al optimizador a ejecutar la consulta en un orden particular, evitando algunas optimizaciones (reordenamiento de tablas) en algunos casos. Aquí hay un ejemplo . Pero no debe elegir uno sobre el otro si se sacrifica la corrección / significado, ya que una UNIÓN INTERNA no es inherentemente peor. El resto de las optimizaciones habituales se aplican como de costumbre.
En resumen, no lo use LEFT JOINsi realmente quiere decir INNER JOIN.
En MySQL CROSS JOIN, INNER JOINy JOINson lo mismo. En el estándar, y semánticamente, a CROSS JOINes un INNER JOINsin ONcláusula, por lo que obtiene todas las combinaciones de filas entre tablas.
Tienes ejemplos de todos los tipos semánticos de unión en Wikipedia . En la práctica, en MySQL, tendemos a escribir solo JOINy LEFT JOIN.
JOINno calificada implicaINNER JOIN¿Qué combinación tiene mejor rendimiento si todos proporcionan el mismo resultado?
Además de la respuesta anterior, por lo que sé, MySQL está optimizado para tener el mismo rendimiento.
Con buenos índices, por ejemplo, la cláusula
JOINvsLEFT JOIN+WHEREpara filtrar será lo mismo. La optimización frente a la lectura humana tiene sentido en consultas grandes con muchas combinaciones.Usar buenos índices y caché es más importante.
Puede leer una buena explicación del proceso de optimización aquí:
El proceso de optimización de consultas : una consulta a menudo se puede ejecutar de muchas maneras diferentes y producir el mismo resultado. El trabajo del optimizador es encontrar la mejor opción.
fuente