# 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)