junior
Что такое JOIN?
JOIN — оператор SQL, реализующий операцию соединения реляционной алгебры. Он предназначен для объединения данных из двух или более таблиц в один результирующий набор на основе условия связи между ними.
Особенности операции соединения
- В схему таблицы-результата входят столбцы обеих исходных таблиц (схема результата — «сцепление» схем операндов)
- Каждая строка результата — это «сцепление» строки из одной таблицы со строкой другой таблицы, соответствующей условию
- При соединении более двух таблиц операция
JOINприменяется последовательно — результат первого соединения становится входом для следующего
Пример
SELECT
field_name [,... n]
FROM
Table1
{INNER | {LEFT | RIGHT | FULL} OUTER | CROSS} JOIN
Table2
{ON <condition> | USING (field_name [,... n])}
Условие соединения задаётся через ON (произвольное условие) или USING (когда столбцы в обеих таблицах имеют одинаковое имя). USING убирает дублирование столбца в результате.
На собеседовании: достаточно объяснить, что
JOINобъединяет строки из разных таблиц по условию. Частая ошибка — забыть, что без условияON(или приCROSS JOIN) получается декартово произведение.