Sobes.tech
Middle

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

sobes.tech AI

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

LEFT JOIN և INNER JOIN SQL-ում սեղմումների տեսակներ են, որոնք տարբեր են տողերի ընտրության ձևով:

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

Օրինակ՝

SELECT a.id, b.value
FROM table_a a
INNER JOIN table_b b ON a.id = b.a_id;

SELECT a.id, b.value
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id;

Առաջին դեպքում ցուցադրվում են միայն այն գրառումները, որոնք համապատասխանում են երկու աղյուսակներում: Երկրորդում՝ բոլոր գրառումները table_a-ից, նույնիսկ եթե չունեն համապատասխան գրառումներ table_b-ում։