Sobes.tech
Back to questions
Middle
4

Чем отличаются JOIN, LEFT JOIN и RIGHT JOIN?

Companies where asked
e-legion

Answer from AI

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