Flashcard FC268422
Como selecionar linhas de uma tabela que estejam associadas a um valor em outra tabela ou que não tenham associação?
Linguagem SQL
IDECAN · 2024
Como selecionar linhas de uma tabela que estejam associadas a um valor em outra tabela ou que não tenham associação?
Mostrar resposta e comentário
Resposta
Resposta objetiva: Usar LEFT OUTER JOIN e filtrar por valor ou IS NULL.
SELECT coluna_escolhida FROM tabela_esq LEFT OUTER JOIN tabela_dir USING(chave) WHERE tabela_dir.col = valor OR tabela_dir.col IS NULL;
Explicação:
O LEFT OUTER JOIN mantém todas as linhas da tabela à esquerda, mesmo sem correspondência na direita.
Quando não há correspondência, as colunas da tabela direita ficam NULL.
Aplicar WHERE coluna = valor OR coluna IS NULL inclui tanto as correspondências com o valor quanto as sem associação.
Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/265911
Conteúdo do catálogo FC Concursos · Atualizado em