Sobes.tech
Junior — Middle

Ներկայացրեք տարբերությունները SQL-ում LEFT JOIN, RIGHT JOIN և INNER JOIN միացումների գործողությունների միջև։

sobes.tech AI

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

SQL գործողություններում, JOIN-ները օգտագործվում են երկու աղյուսակների տողերը միացնելու համար կապված սյունակի վրա:

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

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

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

Օրինակ:

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

Այս հարցումը կվերադարձնի բոլոր գրառումները A աղյուսակից և միայն համապատասխանները B-ից: Եթե A-ի գրառման համար չկա համապատասխանություն B-ում, ապա B-ի դաշտերը կլինեն NULL:

Այսպիսով՝

  • INNER JOIN — աղյուսակների հատում ըստ պայմանի:
  • LEFT JOIN — ամեն ինչ ձախից + համապատասխանությունները աջից:
  • RIGHT JOIN — ամեն ինչ աջից + համապատասխանությունները ձախից։