0% found this document useful (0 votes)
10 views8 pages

SQL Joins

Database Development

Uploaded by

Hanan Ali
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)
10 views8 pages

SQL Joins

Database Development

Uploaded by

Hanan Ali
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/ 8

SQL

SQL
Join Types

SQL JOIN
Table 1 Table 2

SWIPE
SELECT *

Table 1 Table 2 FROM Table_1;

01 SELECT

FROM
*

Table_2;

Select from two tables

SELECT *

Table 1 Table 2

FROM Table_1 t1

02 INNER

ON t1.id
JOIN

=
Table_2

t2.fk
t2

INNER JOIN

SELECT *

Table 1 Table 2

FROM Table_1 t1

03 LEFT

ON
JOIN

t1.id
Tbale_2

= t2.fk;
t2

LEFT OUTER JOIN


SELECT *

Table 1 Table 2 FROM Table_1 t1

04
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

05 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

06 FROM

WHERE
Table_2

t2.id

);
=
t2

t1.fk

ANTI SEMI JOIN


SELECT *

FROM Table_1 t1

Table 1 Table 2 LEFT JOIN Table_2 t2

07
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

08
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

09 FULL

ON
OUTER

t1.id
JOIN

= t2.fk;
Table_2 t2

FULL OUTER JOIN


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

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


Help us reach

50K
15K
Followers

Follow our profile

for more Informative

content

Save it

for later

You might also like