A obtenção dos códigos dos clientes que não possuem locação...
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);
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