Junior — Middle
Izskaidrojiet atšķirību starp INNER JOIN un OUTER JOIN SQL un kurās situācijās katrs no tiem tiek izmantots.
sobes.tech AI
Atbilde no AI
INNER JOIN atgriež tikai tās rindas, kurām ir atbilstības abās tabulās saskaņā ar savienošanas nosacījumu.
OUTER JOIN atgriež visas rindas no vienas tabulas un atbilstošās rindas no otras. Ja atbilstība nav, tad trūkstošās datu vietas būs NULL.
OUTER JOIN veidi:
- LEFT OUTER JOIN — kreisās tabulas visas rindas + atbilstošās no labās.
- RIGHT OUTER JOIN — labās tabulas visas rindas + atbilstošās no kreisās.
- FULL OUTER JOIN — abu tabulu visas rindas, kur nav atbilstības, būs NULL.
Piemērs lietošanai:
- INNER JOIN — kad nepieciešami tikai saistīti dati, piemēram, pasūtījumi ar esošiem klientiem.
- LEFT OUTER JOIN — kad vēlaties iegūt visus klientus, ieskaitot tos, kam nav pasūtījumu.
SQL piemērs:
SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
Šī vaicājuma rezultātā tiks atgriezti visi klienti un viņu pasūtījumi, ja tādi ir, citādi NULL.