Junior — Middle
Objasnite razliku između INNER JOIN i OUTER JOIN u SQL i u kojim situacijama se koristi svaki od njih.
sobes.tech АИ
Одговор од АИ
INNER JOIN vraća samo one redove koji imaju podudaranja u obe tabele prema uslovu spajanja.
OUTER JOIN vraća sve redove iz jedne tabele i odgovarajuće redove iz druge. Ako nema podudaranja, mesta bez podataka će biti NULL.
Vrste OUTER JOIN:
- LEFT OUTER JOIN — svi redovi iz leve tabele + odgovarajući iz desne.
- RIGHT OUTER JOIN — svi redovi iz desne tabele + odgovarajući iz leve.
- FULL OUTER JOIN — svi redovi iz obe tabele, sa NULL tamo gde nema podudaranja.
Primer upotrebe:
- INNER JOIN — kada su potrebni samo povezani podaci, na primer, porudžbine sa postojećim klijentima.
- LEFT OUTER JOIN — kada želite da dobijete sve klijente, uključujući one bez porudžbina.
SQL primer:
SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
Ovaj upit će vratiti sve klijente i njihove porudžbine, ako ih imaju, inače NULL za porudžbine.