Blog

Postado em em 8 de dezembro de 2023

10 Questões para Processo Seletivo de SQL – Nível Fácil

Veja como resolver 10 questões para processo seletivo de SQL de forma detalhada e prepare-se para qualquer etapa de seleção.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

10 Questões para Processo Seletivo de SQL – Nível Fácil

Na aula de hoje, vamos resolver juntos 10 questões para processo seletivo de SQL de forma detalhada. O objetivo é que você compreenda os conceitos e aprenda o conteúdo enquanto resolvemos.

Apesar de serem questões de nível fácil, elas não são tão diretas, exigindo interpretação e atenção para compreender exatamente o que está sendo pedido e conseguir solucionar da melhor maneira.

Exploraremos temas como contagem, seleção de tabelas, máximo e mínimo, criação de consultas e agrupamento no SQL. Caso você não conheça algum desses conceitos, você poderá aprendê-los ao longo das resoluções.

Então, vamos começar a resolver essas 10 questões para processo seletivo de SQL .

Questão 1 – Seleção de Tabela no SQL

Questão 1: Selecione a tabela de Produtos do Banco de Dados ‘Base’.

No MySQL e em programas de gerenciamento de dados em geral, podemos visualizar a lista de bancos de dados no lado esquerdo. Ao clicarmos sobre o banco de dados, conseguimos ver todas as tabelas presentes nele.

Banco de dados

Para selecionar nossa tabela de Produtos desse banco de dados, é simples. Primeiramente, garantimos que o banco de dados esteja ativo. Para isso, clicamos com o botão direito sobre o nome do banco de dados e selecionamos “Set Default Schema“.

Set Default Schema

Em seguida, utilizamos o comando SELECT (pode ser escrito em maiúsculas ou minúsculas), seguido de asterisco e o nome da tabela:

SELECT * FROM produtos

Dessa forma, estamos selecionando todo o conteúdo da tabela produtos, que será exibida em nossos resultados.

Tabela

Outra forma de solucionar essa questão sem precisar definir o banco de dados manualmente é declarar no código o nome do banco de dados antes do nome da tabela:

SELECT * FROM base.produtos

Questão 2 – Criação de Consultas no SQL

Questão 2: Crie duas consultas nesta mesma janela de Query. A consulta 1 deve retornar a tabela de categorias e a consulta 2 deve retornar a tabela de lojas.

O processo de selecionar e exibir essas tabelas é bastante simples. Basta utilizarmos as seguintes linhas de código:

SELECT * FROM categorias;
SELECT * FROM lojas;

Tabela categorias
Tabela loja

Essa é uma questão simples, mas há um detalhe que pode acabar te atrapalhando. Repare que nesse código, ao final de cada linha, eu utilizei ponto e vírgula, diferente da questão 1 em que não utilizei.

Alguns bancos de dados não exigem o uso do ponto e vírgula ao final da linha de comando, porém a grande maioria exige e, caso você não coloque, receberá um erro de sintaxe.

Por isso, por padrão, é recomendado utilizar o ponto e vírgula ao final das linhas de comando, independentemente do programa de banco de dados que você esteja utilizando.

Questão 3 – Valores Distintos no SQL

Questão 3: Quais marcas de produtos são vendidas pela empresa?

Nesse caso, sabemos que as informações das marcas dos produtos estão na tabela de produtos, pois já visualizamos essa tabela anteriormente. Caso você não soubesse em qual tabela está a coluna referente às marcas, poderia ir selecionando e visualizando cada uma das tabelas.

Após encontrar a tabela correta, podemos selecionar a coluna marca_produto, utilizando o comando DISTINCT antes do nome da coluna. Dessa forma:

SELECT DISTINCT marca_produto FROM produtos;

Valores distintos

Isso seleciona apenas os valores distintos da coluna marca_produto, então não teremos nomes repetidos sendo exibidos. Os nomes das marcas só serão exibidos uma vez cada.

Questão 4 – Top Produtos no SQL – Ordenando Produtos

Questão 4: Quais são os 3 maiores preços de produtos?

Novamente, sabemos que essa informação está contida na tabela de produtos. Podemos utilizar o comando ORDER BY para ordenar a nossa tabela produtos a partir da coluna preco_unit.

Podemos fazer essa ordenação de forma crescente (asc) ou decrescente (desc). Como queremos saber os 3 maiores preços, o ideal é ordenar de forma decrescente para que você já tenha os 3 maiores preços como os 3 primeiros valores da tabela.

SELECT * FROM produtos
ORDER BY preco_unit desc;

Tabela com os preços ordenados

Caso queiramos exibir apenas os 3 maiores valores, podemos passar o comando LIMIT também com o valor de 3.

SELECT * FROM produtos
ORDER BY preco_unit desc
LIMIT 3;

LIMIT SQL

Questão 5 – Filtro no SQL

Questão 5: Faça uma lista dos clientes pós-graduados.

Essa informação está na tabela de clientes, então podemos aplicar um filtro nessa tabela, exibindo apenas os clientes pós-graduados. Para isso, basta executarmos o comando WHERE.

SELECT * FROM clientes
WHERE escolaridade = 'Pós-graduado';

lista dos clientes pós-graduados

Assim, teremos apenas os clientes pós-graduados sendo exibidos. O comando WHERE é muito útil quando queremos filtrar informações da tabela.

Questão 6 – Criar Consulta Específica – Operador IN

Questão 6: Crie uma consulta à tabela Produtos que retorna todos os produtos das marcas ‘DELL’, ‘SAMSUNG’ e ‘JBL’. Obs: Não utilize o operador OR.

O primeiro ponto que precisamos observar nessa questão é que não podemos utilizar o operador OR. Ou seja, não podemos realizar um filtro onde a marca do produto seja ‘DELL’ ou ‘SAMSUNG’ ou ‘JBL. Como seria no comando abaixo:

SELECT * FROM produtos
WHERE marca_produto = 'DELL' OR marca_produto = 'SAMSUNG';

OR no SQL

Perceba que chegaríamos ao resultado desejado, bastaria acrescentar a marca da ‘JBL’ também. No entanto, como não podemos utilizar o operador OR, existe uma alternativa a ele que é o operador IN.

O operador IN permite verificar uma lista, o que torna nosso código mais otimizado. Nesse caso, podemos filtrar utilizando o WHERE, verificando onde marca_produto está dentro da lista com os nomes das marcas que desejamos.

SELECT * FROM produtos
WHERE marca_produto in ('DELL', 'SAMSUNG', 'JBL');

IN no SQL

Questão 7 – Contagem no SQL

Questão 7: Quantos clientes existem na base? Todos os clientes possuem Telefones cadastrados?

Para descobrirmos a quantidade de clientes cadastrados, podemos utilizar o comando COUNT.

SELECT COUNT(*) FROM clientes;
COUNT no SQL

Dessa forma, estamos contando todas as linhas da tabela, independentemente da coluna.

Para descobrirmos quantos telefones temos cadastrados, podemos utilizar a função COUNT passando para ela o nome da coluna que queremos contar.

SELECT COUNT(telefone) FROM clientes;

COUNT Telefone

Repare que ela retornou o valor de 94. Isso ocorre porque a função COUNT não considera os valores nulos presentes na tabela, contando apenas os valores preenchidos.

Podemos inclusive filtrar para exibir quais são esses clientes:

SELECT * FROM CLIENTES
WHERE telefone IS NULL;

Valores Nulos

Questão 8 – Máximo e Mínimo no SQL

Questão 8: Qual é o maior preço de produto? E o menor?

Uma forma prática para resolvermos essa questão é através das funções MIN e MAX.

SELECT
    MAX(preco_unit),
    MIN(preco_unit)
FROM produtos;

Dessa forma, estamos selecionando o valor máximo e mínimo da nossa tabela de produtos.

Valor mínimo e máximo

Questão 9 – Total no SQL – Agrupamento no SQL

Questão 9: Qual o total de produtos da marca DELL? E o total de produtos da marca SAMSUNG?

Para resolvermos essa questão, podemos realizar um agrupamento no SQL para contar a quantidade de produtos a partir das marcas. Faremos isso selecionando a coluna marca_produto, chamando a função COUNT e agrupando pela marca_produto.

Dessa forma, teremos uma tabela contendo as marcas dos produtos e a quantidade de produtos contida em cada uma.

SELECT
    marca_produto,
    COUNT (*)
FROM produtos
GROUP BY marca_produto;

Agrupando as marcas

Questão 10 – Filtros em Conjunto com o GROUP BY

Questão 10: Quais são as duas formas de utilizar filtros em conjunto com o GROUP BY?

Existem duas formas de utilizarmos filtros em conjunto com o GROUP BY. A primeira é antes de realizarmos o agrupamento, e a segunda é depois que a tabela já está agrupada.

Antes do Agrupamento:

SELECT
    escolaridade,
    COUNT(*)
FROM clientes
WHERE sexo = 'M'
GROUP BY escolaridade;

WHERE e GROUPBY

Nesse caso, estamos filtrando apenas para exibir a escolaridade dos clientes do sexo masculino e, em seguida, fazendo o agrupamento pela escolaridade.

Depois do Agrupamento:

SELECT
    escolaridade,
    COUNT(*)
FROM clientes
GROUP BY escolaridade
HAVING COUNT(*) >= 25;

HAVING no SQL

Já aqui, após realizar o agrupamento pela escolaridade, estamos definindo para exibir apenas aqueles em que a contagem seja maior ou igual a 25.

Conclusão – 10 Questões para Processo Seletivo de SQL – Nível Fácil

Nessa aula, resolvemos juntos 10 questões para processo seletivo de SQL de forma detalhada, explicando passo a passo. Dessa forma, você pode não só compreender a resolução dos exercícios como também o conceito abordado em cada um deles.

Apesar de serem questões de nível fácil, são desafios que exigem atenção e são uma excelente fonte para praticar os seus conhecimentos em SQL.

Portanto, estude, pratique e tente resolver sozinho essas questões para verificar o seu desempenho e evolução dentro do SQL.

Hashtag Treinamentos

Para acessar outras publicações de SQL, clique aqui!


Quer aprender mais sobre SQL com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador