Sobes.tech
Junior — Middle

Ներկայացրեք տարբերությունը BETWEEN INNER JOIN և OUTER JOIN SQL-ում և որ իրավիճակներում է օգտագործվում յուրաքանչյուրն այն.

sobes.tech AI

Պատասխան AI-ից

INNER JOIN վերադարձնում է միայն այն տողերը, որոնք համապատասխանում են երկու աղյուսակներում՝ միացման պայմանով:

OUTER JOIN վերադարձնում է բոլոր տողերը մեկ աղյուսակից և համապատասխան տողերը մյուսից: Եթե համապատասխանություն չկա, ապա բացակա տվյալների տեղերը կլինի NULL:

OUTER JOIN տեսակներ՝

  • LEFT OUTER JOIN — ձախ աղյուսակի բոլոր տողերը + համապատասխան տողերը աջից:
  • RIGHT OUTER JOIN — աջ աղյուսակի բոլոր տողերը + համապատասխան տողերը ձախից:
  • FULL OUTER JOIN — երկու աղյուսակների բոլոր տողերը, որտեղ չկա համապատասխանություն՝ NULL:

Օգտագործման օրինակ՝

  • INNER JOIN — երբ անհրաժեշտ են միայն կապված տվյալներ, օրինակ՝ պատվերներ՝ առկա հաճախորդների հետ:
  • LEFT OUTER JOIN — երբ ուզում եք ստանալ բոլոր հաճախորդները, այդ թվում՝ առանց պատվերների:

SQL օրինակ՝

SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;

Այս հարցումը կվերադարձնի բոլոր հաճախորդներին և նրանց պատվերները, եթե կան, հակառակ դեպքում՝ NULL պատվերների համար։