Para calcular o número de produtos com nomes que terminam co . . .

Exercício 5


Para calcular o número de produtos com nomes que terminam com a letra B, o Auditor testou os comandos abaixo.

  • I. SELECT COUNT(nomePro)
    FROM Produto
    WHERE nomePro BEGIN '%B';
  • II. SELECT COUNT(*)
    FROM PRODUTO
    WHERE SUBSTR(nomePro, -1)='B';
  • III. SELECT COUNT(*)
    FROM Produto
    WHERE nomePro LIKE '%B';
  • IV. SELECT COUNT(nomePro)
    FROM Produto
    WHERE SUBSTR(nomePro, 0)='B';

Mostrará o resultado desejado o que consta APENAS em:

A
III
B
I e IV
C
III e IV
D
I e II
E
II e III

Resolução


Parte 1 da resolução

Para iniciar a resolução deste exercício é importante entender que COUNT é uma das funções de agregação disponibilizadas pela linguagem SQL que tem com objetivo contabilizar a quantidade de linhas de um determinado grupo de dados.

Entre as alternativas há duas formas corretas de se utilizar a instrução COUNT, o comando COUNT(*) realizará a contabilização do número de linhas retornado pela query e COUNT(nomePro) realizará a contabilização do números de linhas retornado somente para a coluna nomePro. Supondo que a quantidade de registros seja igual em ambos os casos, COUN(*) e COUNT(nomePro) terão o mesmo resultado.

A partir desta primeira análise da instrução COUNT ainda não é possível identificar qual a alternativa correta.

Parte 2 da resolução

Verificando a cláusula WHERE das alternativas é possível eliminar a Letra B e D pois o comando BEGIN é um tipo de comando DTL(Data Transaction Language ou Linguagem de Transação de Dados) e no exercício cabe somente comandos DML(Data Manipulation Language ou Linguagem de Manipulação de Dados)

A instrução LIKE é usada em cláusulas WHERE para localizar registros de acordo com um determinado padrão, padrão que é definido por meio dos wildcars '%' e '_' conforme exemplos abaixo utilizando o wildcard '%':

  • Encontrar qualquer registro que começa com a letra B.
    • SELECT coluna FROM tabela WHERE coluna LIKE 'B%'
  • Encontrar qualquer registro que termina com a letra B.
    • SELECT coluna FROM tabela WHERE coluna LIKE '%B'
  • Encontrar qualquer registro que contenha a letra B em qualquer posição.
    • SELECT coluna FROM tabela WHERE coluna LIKE '%B%'
  • Encontrar qualquer registro que contenha começa com a letra B e termina com a letra C.
    • SELECT coluna FROM tabela WHERE coluna LIKE 'B%C'

Com base na análise acima da instrução LIKE chega-se a conclusão que o item III está correto.

Parte 3 da resolução

Por fim, para se chegar a resposta Letra E itens II e III corretos, é necessário saber que SUBSTR é uma instrução que tem como finalidade extrair um trecho da string original tendo como parâmetro um início, um tamanho opcional e a string original. Se o tamanho que se deseja extrair não for informado como parâmetro de SUBSTR o comando terá como retorno uma substring a partir do início informado até o final da string.

Para exemplificar suponha a tabela PESSOA abaixo com os campo ID e NOME:

IDNOME
1Afonso Pereira Najib
2Breno da Costa Alves

Na query SELECT NOME, SUBSTR(NOME, -1) as SUB FROM PESSOA WHERE SUBSTR(NOME, -1)='B' temos como resultado "Afonso Pereria Najib, b" ,enquanto que na query SELECT NOME, SUBSTR(nomePro, 0) as SUB FROM PESSOA WHERE SUBSTR(nomePro, 0)='B' nenhum resultado foi exibido.

Observação: O exercício não especificou qual SGBD foi utilizado para realizar a consulta, mas pode sabe-se que no ORACLE e MySQL a sintaxe é SUBSTR e no SqlServer e PostgreSQL a sintaxe é SUBSTRING.

Resolva também as questões relacionadas abaixo sobre SQL.

Exercício 6

Na linguagem SQL, considerando duas tabelas A e B, para se obter o que está na Tabela A e não está n ...

Exercício 10

Um programador deseja definir uma query SQL para retornar os valores das colunas salario e job_id pa ...

Exercício 1

Os comandos DTL são responsáveis por gerenciar diferentes transações ocorridas dentro de um

Veja também as perguntas respondidas abaixo.

Pergunta

O que é uma SQL ANSI ?

Pergunta

Quem criou o SQL ?

Pergunta

O que faz um comando select ?


exerciciosresolvidos.com.br

Acreditamos na educação gratuita e de qualidade. Nos ajude com sua opinião, sugestão ou crítica enviando um e-mail para: exerciciosresolvidosbr@gmail.com

Copyright © 2024. Built with ❤ Love