Sobes.tech
Junior — Middle

Qual é a diferença entre uma junção interna e uma junção externa direita em SQL?

sobes.tech IA

Resposta da IA

No SQL, a junção interna (INNER JOIN) e a junção externa direita (RIGHT OUTER JOIN) diferem na forma como as linhas das tabelas são incluídas no resultado.

  • INNER JOIN retorna apenas as linhas que têm correspondências em ambas as tabelas de acordo com a condição de junção.

  • RIGHT OUTER JOIN retorna todas as linhas da tabela da direita e as linhas correspondentes da tabela da esquerda. Se não houver correspondência para uma linha da tabela da direita na esquerda, os campos da tabela da esquerda serão NULL.

Exemplo:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Retorna apenas as linhas onde A.id corresponde a B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Retorna todas as linhas de B, mesmo que não haja correspondência em A