Considere a tabela criada pelo comando abaixo.CREATE TABLE c...
Considere a tabela criada pelo comando abaixo.
CREATE TABLE clientes (cod_cfiente CHAR (5) NOT NULL, nome_cliente CHAR (20), uf CHAR (2));
A seguir foram inseridos dados na tabela criada, utilizando-se os comandos:
INSERT INTO clientes (cod_cliente, nome_cliente, uf)
VALUES ('00001', 'Fulano’, 'RJ');
INSERT ÍNTO clientes (cod_cliente, nome_cliente, uf)
VALUES ('00002', 'Sicrano1, 'SP');
INSERT INTO clientes (cod_cliente, nome_cliente, uf)
VALUES ('00003', 'Beltrano', 'SP');
Assinale a opção que apresenta o comando SQL que
mostrará apenas os campos nome_cliente e uf com os
valores Fulano e RJ, respectivamente.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E
Vamos analisar o contexto da questão e o que cada alternativa propõe. Para resolver a questão, é necessário compreender como utilizar cláusulas SQL para filtrar dados específicos em uma tabela.
A tabela clientes foi criada com os campos cod_cliente, nome_cliente, e uf. Em seguida, foram realizados três inserts, incluindo um cliente de uf igual a 'RJ'. O objetivo é exibir apenas o nome_cliente e uf do cliente com este valor.
Justificativa da Alternativa Correta (E): A alternativa E utiliza o comando SELECT nome_cliente, uf FROM clientes WHERE cod_cliente NOT IN('00002', '00003')
. Essa expressão filtra a tabela para excluir os clientes com cod_cliente '00002' e '00003', que correspondem a 'Sicrano' e 'Beltrano', ambos de 'SP'. Assim, sobrará apenas o cliente 'Fulano' de 'RJ', que é o resultado desejado.
Análise das Alternativas Incorretas:
- A:
SELECT cod_cliente, uf FROM clientes WHERE uf = 'RJ';
- Esta opção seleciona o código do cliente e a unidade federativa, mas não exibe o nome_cliente, sendo assim inadequada. - B:
SELECT nome_cliente, uf FROM clientes WHERE uf NOT IN('RJ');
- Esta alternativa filtra os clientes que não estão no Rio de Janeiro, o que é o oposto do que a questão pede. - C:
SELECT nome_cliente, uf FROM clientes WHERE uf IN('SP');
- Este comando seleciona os clientes que estão em São Paulo, o que também não atende ao requisito da questão. - D:
SELECT nome_cliente, uf FROM clientes WHERE cod__cliente IN('00002', '00003');
- Esse comando busca os clientes 'Sicrano' e 'Beltrano', que não são do Rio de Janeiro, falhando em atender à pergunta.
Conhecer a função e o uso de cláusulas SQL como SELECT
, WHERE
, e filtros de seleção como IN
e NOT IN
é essencial. Essa questão testa a capacidade de aplicar essas cláusulas para extrair dados específicos de uma tabela.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
Gabarito: E.
O comando da alternativa E irá retornar os campos nome_cliente e uf da tabela clientes em que o código do cliente não seja 00002 nem 00003. Ou seja, retorna Fulano e RJ, que são os campos do cliente de código 00001.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo