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

SQL Join Types?

Uploaded by

salamudeen M S
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

SQL Join Types?

Uploaded by

salamudeen M S
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/ 5

SQL Join Types Created by

SELECT *

Table 1 Table 2 FROM Table_1;

1 SELECT

FROM
*

Table_2;

Select from two tables

SELECT *

Table 1 Table 2

FROM Table_1 t1

2 INNER

ON t1.id
JOIN

=
Table_2

t2.fk
t2

INNER JOIN

SELECT *

Table 1 Table 2

FROM Table_1 t1

3 LEFT

ON
JOIN

t1.id
Tbale_2

= t2.fk;
t2

LEFT OUTER JOIN


SQL Join Types Created by

SELECT *

Table 1 Table 2 FROM Table_1 t1

4
RIGHT JOIN Tbale_2 t2

ON t1.id = t2.fk;

RIGHT OUTER JOIN

SELECT *

FROM Table_1 t1

Table 1 Table 2 WHERE EXISTS (SELECT 1

FROM Table_2 t2

5 SEMI JOIN — Similar to INNER JOIN,



WHERE t2.id

);
= t1.fk

with less duplication from Table 2.

SELECT *

FROM Table_1 t1

Table 1 Table 2

WHERE NOT EXISTS (SELECT 1

6 FROM

WHERE
Table_2

t2.id

);
=
t2

t1.fk

ANTI SEMI JOIN


SQL Join Types Created by

SELECT *

FROM Table_1 t1

Table 1 Table 2 LEFT JOIN Table_2 t2

7
ON t1.id = t2.fk

WHERE t2.fk is null;

LEFT OUTER JOIN with exclusion — replacement for a NOT IN

SELECT *

FROM Table_1 t1

Table 2 Table 2 RIGHT JOIN Table_2 t2

8
ON t1.id = t2.fk

WHERE t2.fk is null;

RIGHT OUTER JOIN with exclusion — replacement for a NOT IN

SELECT *

Table 1 Table 2

FROM Table_1 t1

9 FULL

ON
OUTER

t1.id
JOIN

= t2.fk;
Table_2 t2

FULL OUTER JOIN


SQL Join Types Created by

SELECT *

Table 1 Table 2 FROM Table_1 t1

CROSS JOIN Table_2 t2;

10 CROSS JOIN, like a FULL OUTER JOIN


with out specifying JOIN condition.

SELECT *

FROM Table_1 t1

Table 1 Table 2 FULL OUTER JOIN Table_2 t2

11
ON t1.id = t2.fk

WHERE t1.id is null

OR t2.fk is null;

FULL OUTER JOIN with exclusion — replacement for a double NOT IN

Table 3
SELECT *

FROM Table_1 t1

INNER JOIN Table_2 t2

12
Table 1 Table 2

ON t1.id = t2.fk

INNER JOIN Table_3 t3

ON t1.id = t3.fk;

Two INNER JOINS


SQL Join Types Created by

Table 3
SELECT *

FROM Table_1 t1

FULL OUTER JOIN Table_2 t2

13
Table 1 Table 2

ON t1.id = t2.fk

FULL OUTER JOIN Table_3 t3

ON t1.id = t3.fk;

Two FULL OUTER JOINS

SELECT *

Table 3

FROM Table_1 t1

INNER JOIN Table_2 t2

14
ON t1.id = t2.fk

Table 1 Table 2

LEFT OUTER JOIN Table_3 t3

ON t1.id = t3.fk;

INNER JOIN and LEFT OUTER JOIN

SELECT *

Table 3
FROM Table_1 t1

LEFT JOIN Table_2 t2

ON t1.id = t2.fk

15
Table 1 Table 2
LEFT JOIN Table_3 t3

ON t1.id = t3.fk;

Two LEFT OUTER JOINS

You might also like