Sobes.tech
Junior — Middle

Care este diferența dintre o îmbinare internă și o îmbinare externă dreaptă în SQL?

sobes.tech AI

Răspuns de la AI

În SQL, diferența dintre INNER JOIN și RIGHT OUTER JOIN constă în rândurile din tabelele incluse în rezultat.

  • INNER JOIN returnează doar acele rânduri care au corespondențe în ambele tabele conform condiției de join.

  • RIGHT OUTER JOIN returnează toate rândurile din tabela din dreapta și rândurile corespunzătoare din tabela din stânga. Dacă pentru un rând din tabela din dreapta nu există corespondență în cea din stânga, câmpurile tabelei din stânga vor fi NULL.

Exemplu:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Returnează doar rândurile unde A.id corespunde cu B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Returnează toate rândurile din B, chiar dacă nu există corespondență în A