Middle
Каква е разликата между JOIN, LEFT JOIN и RIGHT JOIN?
sobes.tech AI
Отговор от AI
JOIN е операция в SQL, която обединява редове от две таблици въз основа на условие за съвпадение на стойностите в посочените колони.
- JOIN (или INNER JOIN) връща само редовете, които имат съвпадения и в двете таблици.
- LEFT JOIN връща всички редове от лявата таблица и съответните редове от дясната. Ако няма съвпадение, колоните на дясната таблица ще са NULL.
- RIGHT JOIN връща всички редове от дясната таблица и съответните от лявата, с NULL там, където няма съвпадение.
Пример:
SELECT * FROM A
JOIN B ON A.id = B.a_id; -- само съвпадения
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- всичко от A + съвпадения от B
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- всичко от B + съвпадения от A