cjard
03-27-2007, 05:04 PM
If i inner join to a table that has been left joined, do I flatten the outer to an inner join?
You can assume, in the following example, that the tables all have a column called ID, and another varying-name column that is unique between tables:
SELECT
id,
a.colA,
b.colB,
c.colC
FROM
a
LEFT OUTER JOIN
b
ON
b.id = a.id
INNER JOIN
c
ON
c.id = b.id
what do I see?
1) colA no nulls, colB nulls, colC nulls
Total rows: count(*) of a
2) colA, colB and colC all no nulls
Total rows: lesser of (count(*) of b, count(*) of c)
Cheers
You can assume, in the following example, that the tables all have a column called ID, and another varying-name column that is unique between tables:
SELECT
id,
a.colA,
b.colB,
c.colC
FROM
a
LEFT OUTER JOIN
b
ON
b.id = a.id
INNER JOIN
c
ON
c.id = b.id
what do I see?
1) colA no nulls, colB nulls, colC nulls
Total rows: count(*) of a
2) colA, colB and colC all no nulls
Total rows: lesser of (count(*) of b, count(*) of c)
Cheers