Oi, Paula! Tudo certo por aí?
Durante o nosso processo de aprendizagem e descoberta de novas assuntos, é normal conseguirmos realizar a prática juntamente com o instrutor e sentir dificuldade em fazermos sozinhas. Com o tempo, vamos consolidando os nossos conhecimentos e os comandos tendem a ficar mais claros, então não se preocupe com isso!
Com relação ao WHERE
e o HAVING
, ambas são cláusulas que trabalham com filtro. No entanto, o HAVING
será somente utilizado em conjunto com GROUP BY
, que realiza agrupamentos de registros. A sintaxe geral do HAVING
é esta:
SELECT coluna1 FROM tabela
GROUP BY coluna1
HAVING coluna2 >= valor;
O WHERE
, por outro lado, será usado em consultas que não possuem GROUP BY
, como mostra o exemplo abaixo:
SELECT * FROM tabela
WHERE coluna1 = valor;
Sabendo disso, podemos partir para o seu cenário, cuja cláusula mais recomendada é o WHERE
, pois não precisamos do GROUP BY
. O SELECT
que você compartilhou está no caminho certo, precisaremos apenas alterar alguns detalhes, observe:
1 - Para contar a quantidade de homens, utilizaremos a função COUNT()
, que faz justamente isso (contagem). Dentro de seus parênteses, iremos colocar um asterisco, informando que a contagem acontecerá a partir de cada linha da tabela;
2 - A coluna IDADE
não precisa aparecer na consulta, uma vez que os dados serão agrupados, então podemos removê-la;
3 - Em IDADE > 18 AND <= 30
, é necessário escrever duas vezes o nome da coluna IDADE
, indicando que duas comparações serão feitas ao mesmo tempo. Além disso, como queremos as pessoas com idade inferior a 30 anos, podemos retirar o sinal de igual contido em <= 30
;
Depois dessas mudanças, chegamos no seguinte SELECT
:
Select Estado, Sexo, COUNT(*) AS TOTAL from tabela_de_clientes
where Estado = 'SP' AND SEXO = 'M' and IDADE > 18 AND IDADE < 30
Analisando o resultado, vemos justamente aquilo que você disse: existem duas pessoas do sexo masculino cuja idade é superior a 18 e inferior a 30:
Paula, espero ter ajudado com a explicação! Continue sempre com essa dedicação nos estudos que você vai longe. Qualquer dúvida, saiba que pode contar com a Alura.
Abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!