SQL Joins Cheat Sheet
SQL Joins Cheat Sheet
Cheat Sheet
A right join keeps all of the original left table
_ right table
_ result after RI T OIN
GH J
The UNION ALL operator works just like UNION, but it SELECT artist_id
missing values for any columns from 1 L1 1 R1 1 L1 R1 hold true for UNION ALL UNION ALL
Learn SQL online at www.DataCamp.com the left table where the joining field
did not find a match. Right joins are
far less common than left joins,
2
3
L2
L3
4
5
R2
R3
4
5 null
L2 R2
R3 Result after
SELECT artist_id
FROM album;
UNION ALL
because right joins can always be re- 4 L4 6 R4 6 null R4
FULL JOIN
One-to-one relationship:
One-to-many relationship:
6 A
Database relationships describe the relationships In a one-to-many relationship, a record in one table can
between records in different tables. When a one-to-one
relationship exists between two tables, a given record in
be related to one or more records in a second table.
However, a given record in the second table will only be
A full join combines a left join and
right join. A full join will return all left table
_ right table
_
result after FULL OIN
J
related to one record in the first table. records from a table, irrespective of id left val
_ id left val_
1 L1 R1
other table. whether there is a match on the 1 L1 1 R1
2 L2 null
The INTERSECT operator returns only identical rows from two tables. SELECT artist_id
Many-to-many relationship:
returning null values accordingly. 3 L3 5 R3
3 L3 null left table right table INTERSECT
Result after
_ _
In a many-to-many relationship, records in a given table ‘A’ can be related to one or more records in another table ‘B’, 4 L4 6 R4
4 L4 R2
id val id val INTERSECT SELECT artist_id
and records in table B can also be related to many records in table A. 5 null R3 FROM album;
6 null R4 1 N1 1 N1 id val
SELECT 4 L4 6 R4 2
Artist Table Album Table 1 AC/DC 4 Let there be rock 1
*
1 AC/DC 1 For those who rock 1 ON art artist_i alb album_i ; 3 Alanis Morissette null null null
. d = . d
2 Aerosmith 2 Dream on 2
3 Alanis Morissette 3 Restless and wild 2 null null 5 Rumours 6
The EXCEPT operator returns only those rows from SELECT artist_id
CROSS JOIN
4 Let there be rock 1 the left table that are not present in the right table.
5 Rumours 6
FROM artist
EXCEPT
SELECT artist_id
FROM artist
left table
id
_
val
right table
id
_
val
Result after
EXCEPT
FROM album;
An inner join between two tables will left table right table CROSS OIN album; Result after XCEPT:
1 N1 1 N1
E
id val
_ _ J
return only records where a joining id left val id left val artist_id
field, such as a key, finds a match in
_ _
name title 2
2 L2 4 R2
_ _
id1 id2 AC/DC For those who rock 3 L3 5 R3 4 L4 3
1 L1 R1 table 1 table 2
3 L3 5 R3 1 A AC/DC Dream on 4 L4 6 R4
4 L4 R2 id1 id AC/DC Restless and wild
4 L4 6 R4 1 B
A2
SEMI JOIN
1 AC/DC Let there be rock
1 C AC/DC Rumours
INN R JOIN oin ON one field 2 B Aerosmith For those who rock
2 A
E j
FROM artist AS art Result after INN R JOIN: 2 B Aerosmith Restless and wild
*
condition is met in the second table. A semi join makes FROM album
2 Aerosmith Let there be rock use of a W ERE clause to use the second table as a filter
album_id name artist_id C
W ERE artist_i IN
J b
. d = . d
)
E G
2 Aerosmith 2
SELECT *
alb1 artist_i ,
. d
alb1_title alb2_title
UNION
UNION ALL
INTERSECT EXCEPT
ANTI JOIN
1 For those who rock For those who rock
UNION
.
of two SELECT statements. For UNION to work without errors, FROM artist
FROM artist ;
LEFT JOIN
)
columns and corresponding columns must have the same SELECT artist_id
left table right table ANTI OIN
Result after Anti oin:
_ _ J
A left join keeps all of the original left table right table result after LEFT OIN data type. UNION does not return duplicates. FROM album; id col1 col2 id col1
j
records in the left table and returns id left val id left val id left val left val
1 A B 1 A
missing values for any columns from
_ _ _ _
. d
2
2
Aerosmith
Aerosmith
2
3
Dream on
Restless and wild
2
2
6 A
Learn Data Skills Online at www.DataCamp.com
3 Alanis Morissette null null null