INNER JOIN (SIMPLE JOIN): This returns all rows for which
there is at least one match in BOTH tables. This is the default type of join if
no specific JOIN type is specified.
LEFT JOIN (or
LEFT OUTER JOIN): This returns all rows from the left table,
and the matched rows from the right table; i.e., the results will contain all
records from the left table, even if the JOIN condition doesn’t find any
matching records in the right table. This means that if the ON clause doesn’t
match any records in the right table, the JOIN will still return a row in the
result for that record in the left table, but with NULL in each column from the
right table.
RIGHT JOIN (or
RIGHT OUTER JOIN): This returns all rows from the right
table, and the matched rows from the left table. This is the exact opposite of
a LEFT JOIN. The results will contain all records from the right table, even if
the JOIN condition doesn’t find any matching records in the left table. This
means that if the ON clause doesn’t match any records in the left table, the
JOIN will still return a row in the result for that record in the right table,
but with NULL in each column from the left table.
FULL JOIN (or
FULL OUTER JOIN): This
returns all rows for which there is a match in EITHER of the tables. Theoretically,
a FULL JOIN associations the effect of applying both a LEFT JOIN and a RIGHT
JOIN; i.e., its result set is equivalent to performing a UNION of the results
of left and right outer queries.
CROSS JOIN: This returns all records where each row from the first table is
combined with each row from the second table (i.e., returns the Cartesian
product of the sets of rows from the joined tables). Note that a CROSS JOIN can
either be specified using the CROSS JOIN syntax (“explicit join notation”) or
(b) listing the tables in the FROM clause separated by commas without using a
WHERE clause to supply join criteria (“implicit join notation”).
No comments:
Post a Comment