A obtenção dos códigos dos clientes que não possuem locação...

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

A obtenção dos códigos dos clientes que não possuem locação alguma pode ser corretamente obtida por meio da declaração SQL a seguir.

SELECT COD_CLIENTE

FROM CLIENTE

WHERE COD_CLIENTE NOT IN

(SELECT COD_CLIENTE

FROM LOCACAO

WHERE LOCACAO.COD_CLIENTE

= CLIENTE.COD_CLIENTE);

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

O tema desta questão envolve o entendimento sobre subconsultas e a cláusula NOT IN em SQL. Para resolver a questão com eficácia, é necessário ter conhecimento sobre como filtrar registros de uma tabela com base na existência ou não de correspondentes em outra tabela.

O SQL apresentado na questão faz um SELECT na tabela CLIENTE para buscar os códigos dos clientes (COD_CLIENTE). O ponto chave é a cláusula WHERE, que usa o NOT IN para excluir os clientes que possuem locações. Isso é feito por meio de uma subconsulta que seleciona os códigos de clientes da tabela LOCACAO. Assim, a consulta retornará apenas os códigos de clientes que não aparecem na tabela LOCACAO, ou seja, clientes sem locações.

A razão pela qual a afirmativa é correta está relacionada à lógica do NOT IN que exclui todos os COD_CLIENTE que estão presentes na subconsulta. Se um COD_CLIENTE da tabela CLIENTE também está na tabela LOCACAO, ele terá locações e, portanto, não deve ser retornado pela consulta principal. A subconsulta verifica a correspondência exata entre os códigos dos clientes das duas tabelas (LOCACAO.COD_CLIENTE = CLIENTE.COD_CLIENTE) para aplicar o filtro correto.

Essa é uma técnica comum em SQL para identificar registros que não têm correspondentes em outra tabela, e por isso a alternativa está correta.

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

Certo

https://www.devmedia.com.br/guia/guia-completo-de-sql/38314

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo