Sobes.tech
Middle

Ի՞նչ տեսակների JOIN-եր կան 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-ով, եթե համընկնում չկա:

Օրինակ՝

A աղյուսակ՝

id անուն
1 Alice
2 Bob

B աղյուսակ՝

id քաղաք
1 London
3 Berlin
  • INNER JOIN ըստ id-ի վերադարձնում է միայն id=1 (Alice և London):
  • LEFT JOIN կվերադարձնի.
    • id=1 (Alice, London)
    • id=2 (Bob, NULL)
  • RIGHT JOIN կվերադարձնի.
    • id=1 (Alice, London)
    • id=3 (NULL, Berlin)

Այսպիսով, LEFT և RIGHT JOIN պահպանում են մեկ աղյուսակի բոլոր տողերը և լրացնում մյուսից տվյալներով, իսկ INNER JOIN-ը պահպանում է միայն համապատասխան տողերը։