79

I have this cross-database query...

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

it runs fine until I make them LEFT JOINs. I thought that by not specifying a type of join it was assumed to be a LEFT JOIN. Is this not the case?

Brad Mace
  • 27,194
  • 17
  • 102
  • 148
Ben
  • 60,438
  • 111
  • 314
  • 488

4 Answers4

200

I thought that by not specifying a type of join it was assumed to be a LEFT JOIN. Is this not the case?

No, the default join is an INNER JOIN.

Here is a visual explanation of SQL joins.

Inner join

enter image description here

Left join

enter image description here

Mark Byers
  • 811,555
  • 193
  • 1,581
  • 1,452
14

No. When a type isn't specified, an INNER JOIN is used. To read up on differences; wikipedia

Michael Durrant
  • 93,410
  • 97
  • 333
  • 497
user254875486
  • 11,190
  • 7
  • 36
  • 65
11

I believe the default is INNER JOIN if you just specify JOIN.

Flash
  • 15,945
  • 13
  • 70
  • 98
9

If you just mentioned JOIN in query by default it will be considered as a INNER JOIN.

Left join:Left join will take all the elements from Left table and only matching records from the Right table as Follows. example:

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

Hope this helps.

Java
  • 2,451
  • 10
  • 48
  • 85