Multiple tables
Inner Join
-- Joining tables based on related columns between them (we can join more than two tables)
SELECT *
FROM table1_name
JOIN table2_name
ON table1_name.id = table2_name.id;
-- Using table name shortcuts
SELECT *
FROM table1_name t1
JOIN table2_name t2
ON t1.id = t2.id;
Outer Join
A table join that includes all rows from both tables, even if there are no matching columns (non-matching columns are marked as NULL
).
SELECT *
FROM table1_name
LEFT JOIN table2_name
ON table1_name.column_name = table2_name.column_name;
*RIGHT JOIN
also exists, and it works the other way around.
CROSS JOIN
clause
-- Displaying all possible combinations of given columns
SELECT table1_name.column1_name, table2_name.column2_name
FROM table1_name
CROSS JOIN table2_name;
UNION
clause
-- Combining the results of two or more SELECT queries (including only unique rows)
SELECT column1_name FROM table1_name
UNION
SELECT column2_name FROM table2_name;
Conclusion
A JOIN
operation combines rows from different tables based on a specified join condition.
A LEFT JOIN
returns all rows from the left table, and when there is no matching row in the right table, it fills the corresponding columns with NULL
values.
A CROSS JOIN
combines every row from one table with every row from another table, resulting in a Cartesian product.
The UNION
operator stacks one dataset on top of another, merging the results into a single dataset.