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) | Всички |