Archive for June 24th, 2009
Constant vs. NULL to mark missing values in OUTER JOINs
Comments enabled. I *really* need your comment
From Stack Overflow (shortened for clarity):
I have two tables:
homesandhome_photos:It's very possible that a home does not have a photo associated with the home.
In that case, the column
primary_photo_group_idwill have value 0.Otherwise,
primary_photo_group_idequals thegroup_idof the photo.How do I return a
NULLif the photo if not defined for a home?
This is of course a classic task for an OUTER JOIN:
SELECT *
FROM homes h
LEFT JOIN
photos p
ON p.home_photo_group_id = h.primary_photo_group_id
AND …
This construct, however, can be optimized, and I'll show how.
Let's create and fill the sample tables:
Read the rest of this entry »
Subscribe in a reader