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

SQL Join - 1

The document describes different types of SQL joins including inner, outer, left, right, full, cross, semi, anti, except, union, and intersect joins. Examples are provided for each type of join using sample tables to demonstrate how they work.

Uploaded by

withlovejohn5
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

SQL Join - 1

The document describes different types of SQL joins including inner, outer, left, right, full, cross, semi, anti, except, union, and intersect joins. Examples are provided for each type of join using sample tables to demonstrate how they work.

Uploaded by

withlovejohn5
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

SQL JOIN TYPES SIMPLIFIED

SELECT * SELECT *
FROM Table1; FROM Table1 t1
Table1 Table2 Table1 Table2 INNER JOIN Table2 t2
SELECT * ON t1.fk = t2.id;
FROM Table2;
SELECT from two tables INNER JOIN

SELECT * SELECT *
FROM Table1 t1 FROM Table1 t1
Table1 Table2 Table1 Table2
LEFT OUTER JOIN Table2 t2 RIGHT OUTER JOIN Table2 t2
ON t1.fk = t2.id; ON t1.fk = t2.id;
LEFT OUTER JOIN RIGHT OUTER JOIN

SELECT * SELECT *
FROM Table1 t1 FROM Table1 t1
WHERE EXISTS (SELECT 1 Table1 Table2 WHERE NOT EXISTS (SELECT 1
Table1 Table2
FROM Table2 t2 FROM Table2 t2
WHERE t1.fk = t2.id WHERE t1.fk = t2.id
);
);
SEMI JOIN ANTI SEMI JOIN

SELECT * SELECT *
FROM Table1 t1 FROM Table1 t1
Table1 Table2 LEFT OUTER JOIN Table2 t2 Table1 Table2 RIGHT OUTER JOIN Table2 t2
ON t1.fk = t2.id ON t1.fk = t2.id
WHERE t2.id IS NULL; WHERE t1.fk IS NULL;
LEFT OUTER JOIN with exclusion RIGHT OUTER JOIN with exclusion
– replacement for a NOT IN – replacement for a NOT IN

SELECT * SELECT *
FROM Table1 t1 FROM Table1 t1
Table1 Table2 Table1 Table2
FULL OUTER JOIN Table2 t2 CROSS JOIN Table2 t2;
ON t1.fk = t2.id;
FULL OUTER JOIN CROSS JOIN, the Cartesian product

SELECT * SELECT *
FROM Table1 t1 FROM Table1 t1
Table1 Table2 FULL OUTER JOIN Table2 t2 Table1 Table2 INNER JOIN Table2 t2
ON t1.fk = t2.id
WHERE t1.fk IS NULL ON t1.fk >= t2.id;
OR t2.id IS NULL;
FULL OUTER JOIN with exclusion NON-EQUI INNER JOIN

Page 1 of 2
SQL JOIN TYPES SIMPLIFIED
Correlated SELECT * Correlated SELECT *
Sub-query FROM Table1 t1 Sub-query FROM Table1 t1
Table1 or Table Table1 or Table
Valued CROSS APPLY Valued OUTER APPLY
Function [dbo].[someTVF](t1.fk) Function [dbo].[someTVF](t1.fk)
AS t; AS t;
CROSS APPLY OUTER APPLY

SELECT * SELECT *
Table3 Table3 FROM Table1 t1
FROM Table1 t1
FULL OUTER JOIN Table2 t2 INNER JOIN Table2 t2
ON t1.fk = t2.id Table1 Table2
ON t1.fk = t2.id
Table1 Table2
FULL OUTER JOIN Table3 t3 INNER JOIN Table3 t3
ON t1.fk_table3 = t3.id; ON t1.fk_table3 = t3.id;
Two FULL OUTER JOINS Two INNER JOINs

SELECT * SELECT *
Table3 Table3 FROM Table1 t1
FROM Table1 t1
LEFT OUTER JOIN Table2 t2 INNER JOIN Table2 t2
ON t1.fk = t2.id Table1 Table2
ON t1.fk = t2.id
Table1 Table2
LEFT OUTER JOIN Table3 t3 LEFT OUTER JOIN Table3 t3
ON t1.fk_table3 = t3.id; ON t1.fk_table3 = t3.id;
Two LEFT OUTER JOINS INNER JOIN and a LEFT OUTER JOIN

SELECT fk as id Sample Schema


FROM Table1 Table 1 Table 2
Table1 Table2
EXCEPT (People) (Favorite Colors)
SELECT ID
FROM Table2;
EXCEPT

SELECT fk as id
FROM Table1
Table1 Table2
UNION
SELECT ID
FROM Table2;
UNION
Table 3
SELECT fk as id (Favorite Foods) Note: Column names are very
FROM Table1 generic to simplify the sample
Table1 Table2 queries.
INTERSECT
Foreign keys are
SELECT ID Table1.fk -> Table2.id
FROM Table2; Table2.fk_table3 -> Table3.id
INTERSECT

Page 2 of 2

You might also like