# MySQL
## INNER JOIN
Returns records that have matching values in both tables.
```
RESULTS = (LEFT ON ...) & (RIGHT ON ...)
```
## LEFT OUTER JOIN
Returns all records from the left table, and matched records from the right table.
```
RESULTS = LEFT | (RIGHT ON ...)
```
## RIGHT OUTER JOIN
Returns matched records from the left table, and all records from the right table.
```
RESULTS = (LEFT ON ...) | RIGHT
```
## CROSS JOIN
Returns all records from both tables.
```
RESULTS = LEFT | RIGHT
```
## FULL OUTER JOIN
> [!WARNING] Not supported in MySQL
Returns all records and all matching records from both tables.
```
RESULTS = LEFT | (LEFT ON ...) | RIGHT | (RIGHT ON ...)
```
NOTE: Check on this.
## SELF JOIN
Compares a row with other rows within the same table or extracts hierarchical data.
Table aliases should be used instead of repeating the same table name in a query
# Links
* [Types of MySQL JOINs - Download a Free Brief Guide with Examples and Best Practices](https://www.devart.com/white-papers-landing/types-of-joins-in-mysql.html)