Sobes.tech
Junior — Middle

Quelle est la différence entre l'opérateur JOIN et LEFT JOIN lors de la jointure de tables en SQL?

sobes.tech IA

Réponse de l'IA

Оператор 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.