# INNER JOIN — MySQL Fundamentals: SQL, Joins and Transactions

Source: https://www.skillbyai.com/en/mysql/sql-inner-join

> Combine rows from two tables with INNER JOIN, join conditions and short table aliases.

## Matching rows across tables

`INNER JOIN` returns only rows that have a match in both tables.

```sql
SELECT o.id, c.name, o.order_date
FROM orders o
INNER JOIN customers c ON o.customer_id = c.id;
```

Output:

```
id | name        | order_date
1  | Asha Rao    | 2026-01-10
2  | Rahul Mehta | 2026-01-12
```

## Why alias tables?

Short aliases (`o`, `c`) keep `ON` and `SELECT` clauses readable once you're joining more than one table.
