Sobes.tech
Junior — Middle

SQL-да кестелерді біріктіру кезінде JOIN және LEFT JOIN операторлары арасындағы айырмашылық қандай?

sobes.tech AI

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 болады.