Com relação aos comandos SQL apresentados acima, julgue o it...

Próximas questões
Com base no mesmo assunto
Q959626 Banco de Dados

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.

Alternativas

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