As views permitem simplificar a forma como as consultas podem ser feitas pois uma view abstrai a complexidade das consultas, por exemplo consultas com muitas junções, funções de agregação e outras. Daí, uma consulta utiliza a view como se fosse uma tabela virtual cuja definição é baseada na consulta mais complexa.
Em um determinado sistema de compras, foi criada a seguinte view.
CREATE VIEW `COMPRAS_CLIENTES_VW AS (NOME, BAIRRO, DATA_NASC, SEXO, COD_CIDADE, CIDADE, DATA_COMPRA, VALOR) AS SELECT CLI.NOME, CLI.BAIRRO, CLI.DATA_NASC, CLI.SEXO, CID.COD_CIDADE, CID.DCR_CIDADE, CMP.DATA_COMPRA, CMP.VLR_COMPRA FROM CLIENTE CLI INNER JOIN COMPRA CMP ON CLI.COD_CLIENTE = CMP.COD_CLIENTE INNER JOIN CIDADE AS CID ON CLI.COD_CIDADE = CID.COD_CIDADE
Assinale qual sentença apresenta uma consulta correta feita com o uso da View.
SELECT NOME, COUNT(*) FROM COMPRAS_CLIENTES_VW GROUP BY NOME
SELECT NOME, VLR_COMPRA FROM CLIENTE
SELECT NOME, VLR_COMPRA FROM COMPRAS_CLIENTES_VW
SELECT NOME, CIDADE FROM CLIENTE
SELECT NOME, DCR_CIDADE FROM COMPRAS_CLIENTES_VW
Soluções para a tarefa
Respondido por
32
Resposta:
SELECT NOME, COUNT(*) FROM COMPRAS_CLIENTES_VW GROUP BY NOME
Explicação:
A alternativa está correta pois o campo NOME está definido como um dos campos da VIEW no cabeçalho do CREATE VIEW e o count(*) vai contar quantas compras por cliente, via recurso de GROUP BY.
Respondido por
1
Resposta:
SELECT NOME, COUNT(*) FROM COMPRAS_CLIENTES_VW GROUP BY NOME
Explicação:
Resposta correta. A alternativa está correta pois o campo NOME está definido como um dos campos da VIEW no cabeçalho do CREATE VIEW e o count(*) vai contar quantas compras por cliente, via recurso de GROUP BY.
Perguntas interessantes
Matemática,
5 meses atrás
Direito,
5 meses atrás
Matemática,
5 meses atrás
Informática,
7 meses atrás
Biologia,
7 meses atrás
Física,
11 meses atrás
História,
11 meses atrás