Sobes.tech
Junior — Middle

Можете ли да објасните разлике између унутрашњег споја и левог споја у SQL-у?

sobes.tech АИ

Одговор од АИ

Unutrašnje spajanje (INNER JOIN) vraća samo one redove koji imaju podudaranja u obe tabele prema uslovu spajanja. Ako u jednoj od tabela nema odgovarajući zapis, takav red neće biti uključen u rezultat.

Levo spajanje (LEFT JOIN) vraća sve redove iz leve tabele i odgovarajuće redove iz desne tabele. Ako nema podudaranja, vrednosti iz desne tabele će biti NULL.

Primer:

SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;

Vraća samo klijente koji imaju porudžbine.

SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;

Vraća sve klijente, uključujući one bez porudžbina (u ovom slučaju, order_id će biti NULL).