Sobes.tech
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;

-- Bде тиешелүү жазуу бар Aнын idлерин гана кайтарат

SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;

-- Бардык Aнын idлерин кайтарат, жана Bде туура келгендер үчүн, value NULL болот