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