Diferencia en MySQL JOIN vs LEFT JOIN

Tengo esta consulta de base de datos cruzada …

SELECT `DM_Server`.`Jobs`.*, `DM_Server`.servers.Description AS server, digital_inventory.params, products.products_id, products.products_pdfupload, customers.customers_firstname, customers.customers_lastname FROM `DM_Server`.`Jobs` INNER JOIN `DM_Server`.servers ON servers.ServerID = Jobs.Jobs_ServerID JOIN `cpod_live`.`digital_inventory` ON digital_inventory.jobname = Jobs.Jobs_Name JOIN `cpod_live`.`products` ON products.products_pdfupload = CONCAT(digital_inventory.jobname, ".pdf") JOIN `cpod_live`.`customers` ON customers.customers_id = products.cID ORDER BY `DM_Server`.`Jobs`.Jobs_StartTime DESC LIMIT 50 

funciona bien hasta que los hago LEFT JOIN s. Pensé que al no especificar un tipo de unión, se suponía que era una unión LEFT JOIN . ¿No es este el caso?

    Pensé que al no especificar un tipo de unión, se suponía que era una unión IZQUIERDA. ¿No es este el caso?

    No, la unión predeterminada es INNER JOIN.

    Aquí hay una explicación visual de SQL join .

    Unir internamente

    enter image description here

    Izquierda unirse

    enter image description here

    No. Cuando no se especifica un tipo, se utiliza una INNER JOIN . Para leer sobre las diferencias; wikipedia

    Creo que el valor predeterminado es INNER JOIN si solo especifica JOIN .

    Si acaba de mencionar JOIN en la consulta de forma predeterminada, se considerará una UNIÓN INTERNA.

    Unir a la izquierda: la combinación a la izquierda tomará todos los elementos de la tabla de la izquierda y solo coincidirá con los registros de la tabla de la derecha como sigue. ejemplo:

     SELECT column_name(s) FROM table_name1 #(Left table) LEFT JOIN table_name2 #(Right table) ON table_name1.column_name=table_name2.column_name 

    Espero que esto ayude.