Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — CESGRANRIO 2012
Banco de DadosSGBD - Sistema de Gerenciamento de Banco de Dados
- Código
- cg051200
- Banca
- CESGRANRIO
- Órgão
- Petrobras
- Ano
- 2012
- Nível
- Médio
- Cargo
- Técnico de Informática Júnior
Um programador recebeu como missão buscar o preço médio mensal do petróleo em uma tabela chamada PRECO_DIARIO e preencher isso em outra tabela chamada PRECO_MENSAL (inicialmente vazia), contendo uma linha para cada média mensal de cada tipo de petróleo. Suponha que as tabelas sejam descritas como apresentado abaixo.PRECO_DIARIO(TIPO,DATA,PRECO)PRECO_MENSAL(TIPO,ANO,MES,PRECO)Uma forma correta para realizar isso de uma só vez em SQL, na maioria dos SGDBs do mercado, é
- AINSERT INTO PRECO_MENSAL (TIPO, ANO, MES, PRECO)SELECT TIPO, YEAR(DATA) ,MONTH(DATA), AVG(PRECO)FROM PRECO_DIARIO GROUP BY TIPO, YEAR(DATA) ,MONTH(DATA)
- BINSERT TABLE PRECO_MENSAL (TIPO, ANO, MES, PRECO)SELECT TIPO, YEAR(DATA) ,MONTH(DATA), AVG(PRECO)FROM PRECO_DIARIO ORDER BY TIPO, YEAR(DATA) ,MONTH(DATA)
- CINSERT INTO PRECO_MENSAL (TIPO, ANO, MES, PRECO) SELECT TIPO, YEAR(DATA) ,MONTH(DATA), PRECOFROM PRECO_DIARIO GROUP IN TIPO, YEAR(DATA) ,MONTH(DATA)
- DUPDATE INTO PRECO_MENSAL (TIPO, ANO, MES, PRECO)SELECT TIPO, YEAR(DATA) ,MONTH(DATA), AVG(PRECO)FROM PRECO_DIARIO GROUP BY TIPO, YEAR(DATA) ,MONTH(DATA)
- EUPDATE TABLE PRECO_MENSAL SET TIPO, ANO, MES, PRECO ASSELECT TIPO, YEAR(DATA) ,MONTH(DATA), AVG(PRECO)FROM PRECO_DIARIO GROUP BY TIPO, YEAR(DATA) ,MONTH(DATA)