Sobes.tech
Junior

Каква е разликата между LEFT JOIN и RIGHT JOIN?

sobes.tech AI

Отговор от AI

LEFT JOIN избира всички редове от левия таблица и съответните редове от десния. Ако няма съответствие в десния таблица, колоните на десния таблица ще имат стойност NULL.

RIGHT JOIN избира всички редове от десния таблица и съответните редове от левия. Ако няма съответствие в левия таблица, колоните на левия таблица ще имат стойност NULL.

Всъщност, RIGHT JOIN е огледално отражение на LEFT JOIN. Резултатът от RIGHT JOIN (таблица A JOIN таблица B) е идентичен с резултата от LEFT JOIN (таблица B JOIN таблица A), като колоните са разменени.

Пример SQL:

-- LEFT JOIN
SELECT *
FROM ТаблицаA
LEFT JOIN ТаблицаB ON ТаблицаA.id = ТаблицаB.id;

-- RIGHT JOIN
SELECT *
FROM ТаблицаA
RIGHT JOIN ТаблицаB ON ТаблицаA.id = ТаблицаB.id;

Визуализация:

Тип JOIN Включени редове от лявата таблица Включени редове от дясната таблица
LEFT JOIN Всички Съответстващи (или NULL)
RIGHT JOIN Съответстващи (или NULL) Всички