Встречается на собеседованиях • сегодня

В чем разница между видами JOIN

JOIN в SQL объединяет данные из двух таблиц. Основные виды:

  1. INNER JOIN - возвращает только совпадающие строки из обеих таблиц:
sql
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id
  1. LEFT JOIN - все строки из левой таблицы + совпадающие из правой. Если нет совпадений - NULL в правых колонках:
sql
SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id
  1. RIGHT JOIN - аналогично LEFT, но приоритет у правой таблицы (редко используется).

  2. FULL JOIN - объединяет LEFT и RIGHT, возвращает все строки из обеих таблиц с NULL где нет совпадений.

  3. CROSS JOIN - декартово произведение - каждая строка первой таблицы соединяется с каждой строкой второй.

  4. SELF JOIN - соединение таблицы с самой собой (например, для иерархических данных).

Ключевое отличие - в том, какие строки включаются в результат при отсутствии совпадений. INNER строгий, LEFT/RIGHT включают одну таблицу полностью, FULL - обе.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы