Junior — Middle
Ներկայացրեք SQL-ում ներքին և արտաքին միացման տարբերությունները։
sobes.tech AI
Պատասխան AI-ից
SQL-ում ներքին (INNER JOIN) և արտաքին (OUTER JOIN) միացումները օգտագործվում են երկու աղյուսակներից տողեր միացնելու համար, բայց տարբեր են տողերի ընտրության ձևով:
-
Ներքին միացում (INNER JOIN) վերադարձնում է միայն այն տողերը, որոնք համապատասխանում են երկու աղյուսակներում՝ միացման պայմանով:
-
Արտաքին միացում (OUTER JOIN) վերադարձնում է բոլոր տողերը մեկ աղյուսակից և համապատասխան տողերը մյուսից: Եթե համապատասխանություն չկա, տեղերը, որտեղ տվյալներ չկան, կլինեն NULL:
Արտաքին միացումների երեք տեսակ կա:
- LEFT OUTER JOIN — ձախ աղյուսակի բոլոր տողերը + համապատասխան տողերը աջից
- RIGHT OUTER JOIN — աջ աղյուսակի բոլոր տողերը + համապատասխան տողերը ձախից
- FULL OUTER JOIN — երկու աղյուսակների բոլոր տողերը, որտեղ համապատասխանություն չկա՝ NULL
Օրինակ:
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
-- Միայն օգտվողներ, որոնց պատվերներ կան
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;
-- Բոլոր օգտվողները, նույնիսկ եթե պատվերներ չունեն (orders NULL)