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-ը պահպանում է միայն համապատասխան տողերը։