Ներկայացրեք տարբերությունները 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 — ամեն ինչ աջից + համապատասխանությունները ձախից։