SQL: Left Joins

adam lee
2 min readMay 7, 2024

In SQL, there are various strategies for merging tables to execute a query. One such strategy employs the use of a LEFT JOIN. Essentially, a LEFT JOIN retrieves all columns from the left table and any corresponding columns from the right table. If there is no match, the result is NULL on the right side. This allows for a comprehensive view of the data from the left table, supplemented with any matching data from the right table. It’s a powerful tool for data analysis and manipulation.

Below we have a table of students, and we’ll call this the student_table:

StudentID | StudentName       | House
--------------------------------------
1 | Harry Potter | Gryffindor
2 | Hermione Granger | Gryffindor
3 | Ron Weasley | Gryffindor
4 | Draco Malfoy | Slytherin
5 | Luna Lovegood | Ravenclaw
6 | Cedric Diggory | Hufflepuff

We also have an enrollment_table referencing the student table using a foreign key studentID:

EnrollmentID | StudentID | Course
---------------------------------
1 | 1 | Defense Against the Dark Arts
2 | 1 | Potions
3 | 2 | Arithmancy
4 | 2 | Ancient Runes
5 | 3 | Care of Magical Creatures
6 | 4 | Potions
7 | 5 | Astronomy
8 | 6 | Herbology

Let’s say we wanted to figure out what classes Harry Potter and Luna Lovegood are enrolled in, with the following details StudentID, StudentName, Course, we could write the following SQL query below:

SELECT s.StudentID, s.StudentName, e.Course
FROM student_table AS s
LEFT JOIN Enrollment AS e
ON s.StudentID = e.StudentID
WHERE s.StudentName IN ('Harry Potter', 'Luna Lovegood');

Likewise, instead of representing the string values of the student names we could reference the studentIDs:

SELECT s.StudentID, s.StudentName, e.Course
FROM student_table AS s
LEFT JOIN Enrollment AS e
ON s.StudentID = e.StudentID
WHERE s.StudentName IN ( 1 , 5 );

This would yield in a result of the following below:

StudentID | StudentName   | Course
------------------------------------------
1 | Harry Potter | Defense Against the Dark Arts
1 | Harry Potter | Potions
5 | Luna Lovegood | Astronomy

The LEFT JOIN is a powerful tool in SQL that allows us to combine and analyze data from multiple tables. It provides a comprehensive view of the data from the left table, supplemented with any matching data from the right table. This makes it an invaluable tool for data analysis and manipulation.

Whether you’re looking to combine or analyze data, in any other multi-table scenario, LEFT JOIN can help you achieve your goals efficiently and effectively.

Keep in mind that the key to mastering LEFT JOIN lies in understanding your data, knowing what you want to achieve, and practicing regularly.

--

--

adam lee

I'm a martial artist and software engineer. I enjoy writing about Martial Arts, Personal Development, Technology, and Travel.