Sobes.tech
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