0% found this document useful (0 votes)
24 views

Examples: Venn Diagram

An inner join returns only rows that have matching values in both tables. An outer join returns all rows from the left table, and matching rows from the right table or null if no match. A full outer join returns all rows from both tables, whether or not there is a match, with null values inserted where there is no match.

Uploaded by

Hari Kurniawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Examples: Venn Diagram

An inner join returns only rows that have matching values in both tables. An outer join returns all rows from the left table, and matching rows from the right table or null if no match. A full outer join returns all rows from both tables, whether or not there is a match, with null values inserted where there is no match.

Uploaded by

Hari Kurniawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Assuming you're joining on columns with no duplicates, which is a very common case:

An inner join of A and B gives the result of A intersect B, i.e. the inner part of a Venn diagramintersection.
An outer join of A and B gives the results of A union B, i.e. the outer parts of a Venn diagram union.

Examples
Suppose you have two tables, with a single column each, and data as follows:
AB

13
24
35
46

Note that (1,2) are unique to A, (3,4) are common, and (5,6) are unique to B.
Inner join
An inner join using either of the equivalent queries gives the intersection of the two tables, i.e. the two rows they have in
common.
select*fromaINNERJOINbona.a=b.b;
selecta.*,b.*froma,bwherea.a=b.b;

a|b
+
3|3
4|4

Left outer join


A left outer join will give all rows in A, plus any common rows in B.
select*fromaLEFTOUTERJOINbona.a=b.b;
selecta.*,b.*froma,bwherea.a=b.b(+);

a|b
+
1|null
2|null
3|3
4|4

Right outer join


A right outer join will give all rows in B, plus any common rows in A.
select*fromaRIGHTOUTERJOINbona.a=b.b;
selecta.*,b.*froma,bwherea.a(+)=b.b;

a|b
+
3|3
4|4
null|5
null|6

Full outer join


A full outer join will give you the union of A and B, i.e. all the rows in A and all the rows in B. If something in A doesn't
have a corresponding datum in B, then the B portion is null, and vice versa.
select*fromaFULLOUTERJOINbona.a=b.b;

a|b
+
1|null
2|null
3|3
4|4
null|6
null|5QL

You might also like