
SQL Joins Explained (With Examples)

When working with relational databases, one of the most powerful features you’ll use is the JOIN operation. Joins allow you to combine rows from two or more tables based on a related column, making it possible to answer complex questions with a single query. For example, you might need to combine customer information from one table with their orders from another. Without joins, you’d be stuck running multiple queries and manually piecing the results together.
There are several types of SQL joins, and each has its own use case. Let’s walk through the most common ones with clear explanations and examples.
🔹 Inner Join
Returns only the matching records from both tables.
SELECT * FROM A INNER JOIN B ON A.key = B.key;
🔹 Left Join
Returns all records from table A, and matching records from table B (if available).
SELECT * FROM A LEFT JOIN B ON A.key = B.key;
🔹 Left Anti Join
Returns records from table A that have no match in table B.
SELECT * FROM A LEFT JOIN B ON A.key = B.key WHERE B.key IS NULL;
🔹 Right Join
Returns all records from table B, and matching records from table A (if available).
SELECT * FROM A RIGHT JOIN B ON A.key = B.key;
🔹 Right Anti Join
Returns records from table B that have no match in table A.
SELECT * FROM A RIGHT JOIN B ON A.key = B.key WHERE A.key IS NULL;
🔹 Full Join
Returns all records from both A and B, matched where possible.
SELECT * FROM A FULL JOIN B ON A.key = B.key;
🔹 Full Anti Join
Returns all records from A and B that do not match each other.
SELECT * FROM A FULL JOIN B ON A.key = B.key WHERE A.key IS NULL OR B.key IS NULL;
✅ Why SQL Joins Matter
Mastering SQL joins is crucial for anyone working with data. They allow you to build powerful queries, cleanly combine datasets, and gain insights that wouldn’t be possible otherwise. Whether you’re a beginner learning SQL or an analyst working with complex reports, understanding joins will save you time and improve your productivity.
👉 Start practicing these queries today, and explore more free programming and data science courses at programmingvalley.com.
❓ Frequently Asked Questions about SQL Joins
An INNER JOIN only returns rows with matching values in both tables.
An OUTER JOIN (LEFT, RIGHT, or FULL) also returns non-matching rows, filling them with NULL
values.
Use a LEFT JOIN when you want to keep all records from the left (primary) table, even if there are no matches in the right table.
An ANTI JOIN returns rows that do not have a match in the other table. For example, a LEFT ANTI JOIN finds records in A that don’t exist in B.
No. A FULL JOIN combines rows based on matching keys, while UNION stacks results from two queries and removes duplicates.
Most databases (MySQL, PostgreSQL, SQL Server, Oracle) support INNER, LEFT, RIGHT, and FULL joins. However, some variations like ANTI JOIN may need to be written using WHERE IS NULL
.
Amr Abdelkarem
Owner
No Comments