Flashcard FC370281
Como calcular o número de linhas retornadas por INNER, LEFT, RIGHT, FULL e CROSS JOIN a partir das contagens das tabelas e da interseção de chaves?
Linguagem SQL
FGV · 2024
Como calcular o número de linhas retornadas por INNER, LEFT, RIGHT, FULL e CROSS JOIN a partir das contagens das tabelas e da interseção de chaves?
Mostrar resposta e comentário
Resposta
Resposta direta:Variáveis: a = |A|, b = |B|, i = |A ∩ B|, u = |A ∪ B|
INNER JOIN: i
LEFT JOIN: a (assumindo chave única na esquerda)
RIGHT JOIN: b (assumindo chave única na direita)
FULL OUTER JOIN: u = a + b − i
CROSS JOIN: $$a \times b$$
Explicação:
INNER usa a interseção; LEFT/RIGHT retornam todas as linhas da tabela externa;
FULL combina todas as chaves (união) e pode ser obtido por u = a + b − i;
CROSS é o produto cartesiano.
Assume correspondência 1:1 por chave para aplicar estas fórmulas.
Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/359629
Conteúdo do catálogo FC Concursos · Atualizado em