Even if you think you know everything about LEFT JOIN, I bet you will learn something or two in this post! The difference between the ON clause and the WHERE clause. A simple way to better understand a complex Matching-Condition with WHERE … IS NULL clause. The difference between the Matching-Conditions and the Where-conditions. A […]
Here you find information about writing LEFT JOINs (also referred to as LEFT
OUTER JOINs). This introduction into left joins includes a
description, syntax information and example statements that use
left outer joins. The Venn diagram on the left represents a
result set that a statement with a left join produces. Please
refer to the syntax examples below for an example. Links to
additional information resources can be found at the end of this
article.
Left Join syntax
First of all, some syntax examples for the impatient:
-- left join with USING-clause SELECT * FROM <leftTable> LEFT JOIN <rightTable> USING(id)
-- left join with ON-clause SELECT * FROM <leftTable> a LEFT JOIN <rightTable> b ON a.name = b.authorName
As you can see, a join condition can be written …
[Read more]By “Good SQL Querying”, I am not referring to “how to make your queries more perfomant.” I am about to go on a mini-rant about how to make readable and self-documenting SQL queries.
One practice that will get me instantly going on a rant is using a comma join. There is NO reason to do the following:
-- uses the sakila sample database SELECT first_name, last_name, address FROM customer,address;
What kind of join did the original author intend? A CROSS JOIN? Or did they really want an INNER JOIN and forget the WHERE clause?
The answer: you do not know for sure; you can only guess. Had the query been
SELECT first_name,last_name,address FROM customer INNER JOIN address;
you would know that the author intended an INNER JOIN; had the query been
SELECT first_name,last_name,address FROM customer CROSS JOIN address;
you would know that the author intended a CROSS JOIN. I …
[Read more]