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