83

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?

0

4 Answers 4

203

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

Sign up to request clarification or add additional context in comments.

3 Comments

By Cross-database the TS probably means that his query uses tables from multiple databases.
Is there a big reason why a LEFT JOIN would be so much slower than an INNER JOIN ?
@Webnet: It could potentially return more rows. That could, in some situations, cause it to be slower.
14

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

Comments

11

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

Comments

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.