Back to questions
Evapps
Junior — Middle
69
Какое отличие между оператором JOIN и LEFT JOIN при объединении таблиц в SQL?
Companies where asked
Answer from AI
sobes.tech AI
Оператор JOIN (обычно это INNER JOIN) возвращает только те строки, которые имеют совпадения в обеих объединяемых таблицах по условию соединения.
LEFT JOIN (или LEFT OUTER JOIN) возвращает все строки из левой таблицы и соответствующие строки из правой таблицы. Если в правой таблице нет совпадений, то в результирующем наборе для правой таблицы будут значения NULL.
Пример:
-- INNER JOIN
SELECT * FROM A
JOIN B ON A.id = B.a_id;
-- LEFT JOIN
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id;
В первом случае будут только строки, где A.id совпадает с B.a_id. Во втором случае будут все строки из A, а если для строки из A нет совпадения в B, то поля из B будут NULL.