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 պատվերների համար։