Junior — Middle
Կարող եք բացատրել SQL-ում ներքին միացման և ձախ միացման տարբերությունները?
sobes.tech AI
Պատասխան AI-ից
Ներքին միացում (INNER JOIN) վերադարձնում է միայն այն տողերը, որոնք համապատասխանում են երկու աղյուսակներում՝ միացման պայմանով: Եթե մեկ աղյուսակում չկա համապատասխան գրառում, այդ տողը չի մտնի արդյունքների մեջ:
Ձախ միացում (LEFT JOIN) վերադարձնում է բոլոր տողերը ձախ աղյուսակից և համապատասխան տողերը աջ աղյուսակից: Եթե համապատասխանություն չկա, աջ աղյուսակից արժեքները կլինեն NULL:
Օրինակ՝
SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;
Կվերադարձնի միայն այն հաճախորդներին, ովքեր ունեն պատվեր:
SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;
Կվերադարձնի բոլոր հաճախորդներին, այդ թվում՝ առանց պատվերի (այդ դեպքում order_id կլինի NULL):