Middle
Фарқи байни LEFT JOIN ва INNER JOIN чист?
sobes.tech AI
Ҷавоб аз AI
INNER JOIN танҳо он сатрҳоро бармегардонад, ки дар ҳарду ҷадвал арзишҳои мувофиқ доранд. Агар дар яке аз ҷадвалҳо сабтҳои мувофиқ набошад, он сатр дар натиҷа намоиш дода намешавад.
LEFT JOIN (ё LEFT OUTER JOIN) ҳамаи сатрҳоро аз ҷадвали чап ва сатрҳои мувофиқ аз ҷадвали рост бармегардонад. Агар дар ҷадвали рост мувофиқат набошад, майдонҳои ҷадвали рост NULL хоҳанд буд.
Масалан:
SELECT A.id, B.value
FROM A
INNER JOIN B ON A.id = B.a_id;
-- Танҳо он id-ҳоро аз A бармегардонад, ки сабти мувофиқ дар B доранд
SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;
-- Ҳама id-ҳоро аз A бармегардонад, ва барои онҳое, ки мувофиқат намекунанд, value NULL хоҳад буд