Subpages
Example Joins
Table A
|
table a | |
|---|---|
|
A_id |
b_id |
|
1 |
1 |
|
2 |
1 |
|
3 |
2 |
|
4 |
2 |
Table B
|
table b | |
|---|---|
|
B_id |
a_id |
|
1 |
3 |
|
2 |
3 |
|
3 |
4 |
|
4 |
4 |
|
5 |
10 |
|
6 |
11 |
Self Join
SELECT * FROM a AS a_1
(INNER|LEFT|RIGHT|FULL OUTER) JOIN a AS a_2
ON a_1.A_id = a_2.b_ib;joining a table with itself
Left Inclusive Join
SELECT * FROM a
LEFT JOIN b
ON a.A_id = b.a_ib;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
3 |
2 |
1 |
3 |
|
3 |
2 |
2 |
3 |
|
4 |
2 |
3 |
4 |
|
4 |
2 |
4 |
4 |
|
1 |
1 |
NULL |
NULL |
|
2 |
1 |
NULL |
NULL |
Full Outer Inclusive Join
SELECT * FROM a
FULL OUTER JOIN b
ON a.A_id = b.a_ib;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
3 |
2 |
1 |
3 |
|
3 |
2 |
2 |
3 |
|
4 |
2 |
3 |
4 |
|
4 |
2 |
4 |
4 |
|
1 |
1 |
NULL |
NULL |
|
2 |
1 |
NULL |
NULL |
|
NULL |
NULL |
5 |
10 |
|
NULL |
NULL |
6 |
11 |
Right Inclusive Join
SELECT * FROM a
RIGHT JOIN b
ON a.A_id = b.a_ib;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
3 |
2 |
1 |
3 |
|
3 |
2 |
2 |
3 |
|
4 |
2 |
3 |
4 |
|
4 |
2 |
4 |
4 |
|
NULL |
NULL |
5 |
10 |
|
NULL |
NULL |
6 |
11 |
Left Exclusive Join
SELECT * FROM a
LEFT JOIN b
ON a.A_id = b.a_ib
WHERE b.a_id IS NULL;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
1 |
1 |
NULL |
NULL |
|
2 |
1 |
NULL |
NULL |
Full Outer Exclusive Join
SELECT * FROM a
FULL OUTER JOIN b
ON a.A_id = b.a_ib
WHERE a.A_id IS NULL
OR b.a_id IS NULL;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
1 |
1 |
NULL |
NULL |
|
2 |
1 |
NULL |
NULL |
|
NULL |
NULL |
5 |
10 |
|
NULL |
NULL |
6 |
11 |
Right Exclusive Join
SELECT * FROM a
RIGHT JOIN b
ON a.A_id = b.a_ib
WHERE a.A_id IS NULL;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
NULL |
NULL |
5 |
10 |
|
NULL |
NULL |
6 |
11 |
Cross Join
SELECT * FROM a
CROSS JOIN b
ON a.A_id = b.a_ib;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
3 |
2 |
1 |
3 |
|
3 |
2 |
2 |
3 |
|
4 |
2 |
3 |
4 |
|
4 |
2 |
4 |
4 |
Explicit Inner Join
SELECT * FROM a
INNER JOIN b
ON a.A_id = b.a_ib;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
3 |
2 |
1 |
3 |
|
3 |
2 |
2 |
3 |
|
4 |
2 |
3 |
4 |
|
4 |
2 |
4 |
4 |
Implicit Inner Join
SELECT * FROM a, b
WHERE a.A_id = b.a_ib;|
A_id |
b_id |
B_id |
a_id |
|---|---|---|---|
|
3 |
2 |
1 |
3 |
|
3 |
2 |
2 |
3 |
|
4 |
2 |
3 |
4 |
|
4 |
2 |
4 |
4 |
/sql---data-manipulation/query-language-(dml/dql)/sql---select/sql---join/sql-joins.png)