Sobes.tech
Junior

Ի՞նչն է տարբերությունը LEFT JOIN և INNER JOIN-ի միջև։

sobes.tech AI

Պատասխան AI-ից

INNER JOIN վերադարձնում է միայն այն տողերը, որոնց համար կա համապատասխանություն երկու միացվող աղյուսակներում:

LEFT JOIN (կամ LEFT OUTER JOIN) վերադարձնում է բոլոր տողերը ձախ աղյուսակից և համապատասխան տողերը աջ աղյուսակից: Եթե համապատասխանություն չկա, աջ աղյուսակի սյունակների համար վերադարձվում են NULL արժեքներ:

Օրինակ՝

Ենթադրենք, որ կան երկու աղյուսակ՝ Աշխատակիցներ (id, անուն) և Բաժիններ (id, անուն, ղեկավար_id):

INNER JOIN Աշխատակիցներ ԵՎ Բաժիններ ԱՅՍՏԵՂՈՒՄ՝ Աշխատակիցներ.id = Բաժիններ.հետախույզ_id

Վերադարձնում է միայն այն աշխատակիցներին, ովքեր բաժնի ղեկավարներ են:

LEFT JOIN Աշխատակիցներ ԵՎ Բաժիններ ԱՅՍՏԵՂՈՒՄ՝ Աշխատակիցներ.id = Բաժիններ.հետախույզ_id

Վերադարձնում է բոլոր աշխատակիցներին: Նրանք, ովքեր բաժնի ղեկավարներ են, նաև ներառված կլինեն բաժնի տվյալներով: Աշխատակիցները, ովքեր չեն ղեկավարներ, Բաժիններ աղյուսակի սյունակները կունենան NULL արժեքներ։