Типи JOIN
- INNER JOIN — повертає лише рядки, де умова виконана в обох таблицях. Найпоширеніший
- LEFT JOIN — всі рядки лівої таблиці + відповідні з правої (або NULL якщо немає збігу)
- RIGHT JOIN — дзеркало LEFT JOIN. Рідко використовується
- FULL OUTER JOIN — всі рядки обох таблиць, NULL де немає збігу
Приклад
SELECT u.name, o.total
FROM users u
INNER JOIN orders o ON o.user_id = u.id
WHERE o.status = 'paid';
Продуктивність
JOIN по проіндексованих колонках (зазвичай foreign key) виконується швидко. JOIN по неіндексованих полях — дорого. EXPLAIN покаже, чи використовується індекс.