Sobes.tech
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)