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;

-- Վերադարձնում է միայն այն id-երը, որոնք ունեն համապատասխան գրառում B-ում

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

-- Վերադարձնում է բոլոր id-երը A-ից, և այն դեպքում, երբ համապատասխանություն չկա B-ում, value-ն կլինի NULL