Com relação aos comandos SQL apresentados acima, julgue o it...
SELECT Cadastro.NomeCliente, Ordens.NumOrdem
FROM Cadastro
LEFT JOIN Ordens
ON Cadastro.NumCliente=Ordens.NumCliente
ORDER BY NomeCliente;
Com relação aos comandos SQL apresentados acima, julgue o item a seguir.
Caso não exista ocorrência de NumCliente na tabela
Ordens, relativa a um determinado NomeCliente, este
registro NomeCliente não será mostrado.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - errado
Vamos analisar o comando SQL apresentado e entender o que ele faz passo a passo:
O comando SELECT
é utilizado para selecionar dados de uma ou mais tabelas. No caso apresentado, estamos selecionando a coluna NomeCliente da tabela Cadastro e a coluna NumOrdem da tabela Ordens.
O LEFT JOIN
é um tipo de junção que retorna todos os registros da tabela à esquerda (Cadastro), juntamente com os registros correspondentes da tabela à direita (Ordens). Se houver um registro na tabela à esquerda que não tenha correspondente na tabela à direita, os resultados para essa linha mostrarão valores NULL
para as colunas da tabela à direita.
O ON
especifica a condição de junção, ou seja, como as tabelas estão relacionadas. Neste caso, estamos associando NumCliente da tabela Cadastro com NumCliente da tabela Ordens.
O ORDER BY
é utilizado para ordenar o resultado da consulta, e aqui está ordenando pelo NomeCliente.
Com base no uso do LEFT JOIN
, se um NomeCliente da tabela Cadastro não possui correspondência na tabela Ordens (ou seja, não exista ocorrência de NumCliente na tabela Ordens relativa a um determinado NomeCliente), esse NomeCliente ainda será mostrado no resultado da consulta. A coluna NumOrdem, que pertence à tabela Ordens, aparecerá como NULL
para este registro.
Isso contradiz a afirmação de que "este registro NomeCliente não será mostrado". Na verdade, ele será mostrado com um valor NULL
para a coluna NumOrdem da tabela Ordens. Portanto, a afirmativa está errada, e a alternativa correta é a letra E.
Em resumo, a cláusula LEFT JOIN
é crucial para entender o comportamento dos resultados quando uma ou mais linhas de uma tabela não têm correspondentes na outra tabela. Este é um conceito fundamental ao trabalhar com SQL e junções entre tabelas, muito frequente em questões de concursos públicos que envolvem banco de dados.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Errado
Pois o LEFT JOIn mostra todas as linhas de uma tabela mesmo quando elas não satisfazem a condição de junção
LEFT JOIN: Retorna todas as linhas da tabela à esquerda,mesmo se não houver nenhuma correspondência na tabela à direita.
errado. Só não mostraria se fosse RIGHT JOIN
Gabarito Errado
LEFT JOIN ! Foi pra conta !
Vamos na fé !
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo