SQL Query Selection for E-commerce Scenario

SQL Query Selection for E-commerce Scenario

3rd Grade

23 Qs

quiz-placeholder

Similar activities

Introdução a Redes

Introdução a Redes

1st Grade - Professional Development

20 Qs

OPERADOR DE COMPUTADOR

OPERADOR DE COMPUTADOR

1st Grade - University

25 Qs

TIAL_3BIM_2ªPROVA

TIAL_3BIM_2ªPROVA

1st - 10th Grade

20 Qs

Exercício - Conceitos Básicos de Informática

Exercício - Conceitos Básicos de Informática

1st - 3rd Grade

20 Qs

Probabilidade e Estatística - Aula - 1

Probabilidade e Estatística - Aula - 1

3rd Grade

21 Qs

Explorando a Internet e a sua Legislação

Explorando a Internet e a sua Legislação

3rd Grade

23 Qs

Introdução aos Sistemas Disitribuídos

Introdução aos Sistemas Disitribuídos

1st - 5th Grade

18 Qs

Revisão Tecnologia Internet

Revisão Tecnologia Internet

1st - 4th Grade

20 Qs

SQL Query Selection for E-commerce Scenario

SQL Query Selection for E-commerce Scenario

Assessment

Quiz

Computers

3rd Grade

Medium

Created by

Ana Luiza Camargo

Used 3+ times

FREE Resource

23 questions

Show all answers

1.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Uma empresa de e-commerce deseja gerar relatórios detalhados com dados de seus clientes e seus pedidos. Para isso, o analista de dados precisa extrair registros de todos os clientes que moram na cidade de 'Curitiba', cujo status do pedido seja 'pago', e deseja visualizar essas informações organizadas pela data do pedido, do mais antigo para o mais recente. A tabela disponível se chama 'pedidos' e possui as colunas: nome_cliente, cidade, status_pedido e data_pedido.

SELECT nome_cliente FROM pedidos WHERE cidade = 'Curitiba' ORDER BY status_pedido ASC;

SELECT * FROM pedidos ORDER BY data_pedido ASC WHERE cidade = 'Curitiba' AND status_pedido = 'pago';

SELECT nome_cliente, cidade, status_pedido FROM pedidos WHERE status_pedido = 'pago' AND cidade = 'Curitiba';

SELECT * FROM pedidos WHERE cidade = 'Curitiba' AND status_pedido = 'pago' ORDER BY data_pedido ASC;

SELECT * FROM pedidos WHERE cidade = 'Curitiba' OR status_pedido = 'pago' ORDER BY nome_cliente DESC;

2.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Qual das alternativas a seguir aplica corretamente as cláusulas SELECT, WHERE e ORDER BY em uma consulta SQL para selecionar todos os dados da tabela 'pedidos', filtrando por cidade e status do pedido, e ordenando cronologicamente conforme solicitado?

Filtro incompleto e ordenação incorreta, pois não inclui o status do pedido.

Ordem incorreta das cláusulas, pois ORDER BY deve vir após WHERE.

Embora os filtros corretos sejam aplicados, não ordena por data.

O uso do operador OR é inadequado para este caso, pois selecionaria registros que atendem apenas a uma das condições.

3.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Uma empresa que oferece cursos online deseja identificar quais alunos compraram mais de R$ 500,00 em cursos ao longo do ano. Além disso, a equipe pedagógica quer saber quantos cursos diferentes cada um desses alunos adquiriu. As informações estão organizadas em três tabelas no banco de dados: Alunos, Compras e Cursos. A equipe de dados precisa preparar uma consulta SQL para apresentar essa análise em uma reunião com a diretoria.

SELECT a.nome, COUNT(DISTINCT c.id_curso) FROM Alunos a JOIN Compras cp ON a.id_aluno = cp.id_aluno JOIN Cursos c ON cp.id_curso = c.id_curso WHERE cp.valor > 500 GROUP BY a.nome;

SELECT a.nome, COUNT(DISTINCT cp.id_curso) FROM Alunos a JOIN Compras cp ON a.id_aluno = cp.id_aluno WHERE a.id_aluno IN ( SELECT id_aluno FROM Compras GROUP BY id_aluno HAVING SUM(valor) > 500 ) GROUP BY a.nome;

SELECT a.nome, COUNT(DISTINCT c.id_curso) FROM Alunos a JOIN Compras cp ON a.id_aluno = cp.id_aluno JOIN Cursos c ON cp.id_curso = c.id_curso WHERE a.id_aluno IN ( SELECT id_aluno FROM Compras GROUP BY id_aluno HAVING SUM(valor) > 500 ) GROUP BY a.nome;

4.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

O item busca avaliar se o estudante consegue aplicar corretamente subconsultas correlacionadas e junções para resolver um problema real de análise de dados. Qual alternativa está correta?

Filtra compras individuais com valor acima de R$ 500,00, não o total gasto pelo estudante. Pode excluir estudantes que fizeram muitas pequenas compras.

Não faz junção com a tabela Cursos, então não é possível contar corretamente cursos diferentes, apenas IDs de compras.

Filtra estudantes com valor total de compras acima de R$ 500,00 e retorna o nome e a contagem distinta de cursos adquiridos.

Agrupa corretamente por estudante e soma os valores, mas a contagem usa o ID da compra, não os cursos distintos.

Embora utilize a junção com Cursos, conta id_curso sem DISTINCT, o que pode gerar duplicidade em cursos repetidos na mesma compra.

5.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Uma rede de farmácias deseja atualizar os dados de seus produtos com base nas informações recebidas de seus fornecedores. Cada produto está vinculado a um fornecedor específico e, recentemente, a fornecedora Distribuidora Saúde+ concedeu um desconto de 7% em todos os medicamentos fornecidos por ela. Essas informações estão registradas nas tabelas Produtos, Fornecedores_Produtos e Fornecedores. O analista responsável precisa utilizar um comando SQL apropriado para refletir essa atualização de forma segura e precisa no banco de dados.

UPDATE Produtos p JOIN Fornecedores_Produtos fp ON p.id_produto = fp.id_produto SET p.preco = p.preco * 0.93 WHERE fp.nome_fornecedor = 'Distribuidora Saúde+';

UPDATE Produtos JOIN Fornecedores f ON Produtos.id_fornecedor = f.id_fornecedor SET preco = preco * 0.93 WHERE f.nome_fornecedor = 'Distribuidora Saúde+';

UPDATE Produtos p JOIN Fornecedores f ON p.id_produto = f.id_produto SET p.preco = p.preco * 0.93 WHERE f.nome_fornecedor = 'Distribuidora Saúde+';

UPDATE Produtos p JOIN Fornecedores_Produtos fp ON p.id_produto = fp.id_produto JOIN Fornecedores f ON fp.id_fornecedor = f.id_fornecedor SET preco = preco * 0.93

UPDATE Produtos p JOIN Fornecedores_Produtos fp ON p.id_produto = fp.id_produto JOIN Fornecedores f ON fp.id_fornecedor = f.id_fornecedor SET p.preco = p.preco * 0.93

6.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Qual das alternativas a seguir aplica corretamente o comando UPDATE com JOIN para atualizar dados entre tabelas relacionadas no MySQL, garantindo o uso correto dos JOINs e da cláusula WHERE para aplicar um desconto apenas aos produtos fornecidos pela Distribuidora Saúde+?

Utiliza JOIN, mas tenta acessar nome_fornecedor a partir de Fornecedores_Produtos, onde essa coluna não existe.

Assume incorretamente que há um vínculo direto entre Produtos e Fornecedores, ignorando a existência de Fornecedores_Produtos, que é necessária para relacionamentos muitos-para-muitos.

Realiza um JOIN direto entre Produtos e Fornecedores com base em id_produto, uma relação inexistente. Essa tentativa ignora a estrutura correta do banco de dados.

A ausência da cláusula WHERE faz com que todos os preços dos produtos sejam atualizados, e não apenas os da Distribuidora Saúde+, o que pode comprometer a integridade dos dados.

Utiliza as três tabelas envolvidas no relacionamento, realiza os JOINs apropriados e aplica o desconto apenas aos produtos fornecidos pela Distribuidora Saúde+, utilizando corretamente a cláusula WHERE para filtrar a condição.

7.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Em um projeto de integração de sistemas hospitalares, uma equipe de TI precisa manter sincronizados os dados de pacientes entre dois bancos: um que registra atendimentos e outro que armazena informações cadastrais. Alterações nos dados cadastrais devem ser refletidas imediatamente nos registros de atendimento para garantir precisão no histórico clínico. Além disso, quando um novo paciente realiza um primeiro atendimento, seus dados devem ser inseridos. Caso um paciente seja removido do sistema principal, ele também deve ser excluído do banco de atendimentos. O time opta por uma abordagem que centralize essas ações em uma única instrução SQL. Com base no cenário apresentado, a utilização do comando MERGE é mais adequada porque:

Combina operações de atualização, inserção e exclusão, otimizando a sincronização de dados entre tabelas.

Realiza atualizações condicionais quando não há conflito entre os dados das tabelas comparadas.

Assegura integridade referencial automaticamente ao sincronizar dados entre tabelas relacionadas.

Permite consolidar registros de múltiplas fontes em uma única tabela, com base em critérios predefinidos.

Possibilita a substituição automatizada de registros antigos sempre que novos dados forem inseridos.

Create a free account and access millions of resources

Create resources
Host any resource
Get auto-graded reports
or continue with
Microsoft
Apple
Others
By signing up, you agree to our Terms of Service & Privacy Policy
Already have an account?