Funções de Agregação, Subconsultas e Views
|
|
- Pedro Carrilho Branco
- 6 Há anos
- Visualizações:
Transcrição
1 Projeto e Administração de Banco de Dados Funções de Agregação, Subconsultas e Views
2 Objetivo Nesta unidade você vai estudar sobre pesquisas com funções de agregação de dados, sobre a criação de subconsultas e o uso de views. Introdução Nosso último tema estudaremos tópico que permitem a realização de relatórios e consultas mais avançadas. Serão três conteúdos distintos que resolverão alguns problemas pontuais. Funções de Agregação As funções de agregação são funções do SQL que nos ajudam a fazer somas, contagens e outros cálculos em tabelas. É especialmente útil para, por exemplo, calcular o total de uma venda (ou seja, a soma do valor de cada item), ou o a quantidade de itens presentes nesta venda (neste caso, a quantidade de linhas desta consulta). As principais funções de agregação que existem e estudaremos aqui são: COUNT(coluna) Contagem de linhas em que esta coluna aparece preenchida SUM(coluna) Somatório dos valores nesta coluna AVG(coluna) Valor médio desta colina MAX(coluna) Valor máximo que esta coluna apresenta MIN(coluna) Valor mínimo que esta coluna apresenta Estes códigos serão usados logo após o comando SELECT e antes do FROM. Observe agora exemplo abaixo. Você pode testar em seu computador com a tabela de clientes do banco DB_LOJA mas, para exemplificar, inventamos algumas colunas. Veja: TB_CLIENTES CLI_CODIGO CLI_NOME CLI_IDADE CLI_SALÁRIO CLI_SETOR 1 ARI ,00 RH 2 JOSÉ ,00 RH 3 MARIA 3200,00 RH 4 CARLOS ,00 RECEPÇÃO SELECT COUNT(CLI_NOME) FROM TB_CLIENTES -- O resultado a ser exibido, neste caso, é 4! Execute agora este comando no seu banco (BD_LOJA)! Perceba que será exibido o total 2 2
3 de linhas da sua tabela. A coluna CLI_NOME foi citada apenas porque é necessário especificar alguma coluna. Mas poderíamos usar apenas um asterisco (*) para indicar que seja contada a linha inteira. Desta forma: SELECT COUNT(*) FROM TB_CLIENTES Precisamos ainda fazer um ajuste. Usando desta forma, a coluna não tem nome! E toda coluna precisa ser nomeada. Faremos isto usando um alias (apelido). Veja o exemplo para renomear esta coluna de contagem para "quantidade": SELECT COUNT(*) as quantidade FROM TB_CLIENTES Pronto! Agora a nossa coluna será devidamente nomeada. Execute e veja o resultado. Outra coisa interessante a se observar é que Maria não revelou a sua idade. Caso você deseje contar apenas os itens preenchidos (não nulos) de uma tabela, basta especificar o nome desta coluna dentro da função. Desta forma: SELECT COUNT(CLI_IDADE) as idades FROM TB_CLIENTES -- O resultado a ser exibido, neste caso, é 3! Pois apenas 3 linhas possuem -- idade preenchida As outras funções de agregação, listadas anteriormente, têm uso semelhante. Veja os exemplos: SELECT AVG(FUN_SALARIO) AS TOTAL FROM TB_FUNCIONARIOS -- Informará a média salarial dos funcionários: SELECT SUM(ENT_PRECO) AS TOTAL FROM TB_ENTREGAS -- Informará o valor total de todas as entregas GROUP BY Quando estivermos usando alguma função de agregação, como o COUNT(*) por exemplo, esta deve estar listada "sozinha" ENTRE O SELECT e o FROM. Ou seja, não podemos trazer outras colunas. Caso você deseje trazer outras colunas a mais (sem função de agregação), será necessário inseri-las também na clausula GROUP BY. Mas o que é esta clausula? O GROUP BY fica localizado próximo ao ORDER BY (se existir). Ele serve para agrupar itens semelhantes nos seus cálculos (de soma, média, etc.). Seria como dizer que a cada mudança no valor desta coluna deve ser feita uma nova soma. Veja os exemplos: 3 3
4 SELECT SUM(EMP_SALARIO) AS TOTALSALARIO, EMP_SETOR FROM TB_EMPREGADOS GROUP BY EMP_SETOR -- Somatório dos salários de uma empresa por Setor SELECT MAX(VEN_VALOR) AS MAXIMO, VEN_EMP_CODIGO FROM TB_VENDAS GROUP BY VEM_EMP_CODIGO -- O máximo já vendido por cada um dos vendedores Percebeu o macete? Todos os itens que forem colocados após o SELECT também devem ser citados no GROUP BY. HAVING Para terminar, temos que estudar o filtro de registros usando agregação. Quando aprendemos a usar o WHERE, descobrimos que ele filtra os resultados que foram buscados de um banco de dados. Ele cria uma condicional que simplesmente não traz estas linhas na consulta! Veja o exemplo abaixo: SELECT SUM(EMP_SALARIO) AS TOTALSALARIO, EMP_SETOR FROM TB_EMPREGADOS WHERE EMP_DATANASC > ' ' GROUP BY EMP_SETOR -- Somatório dos salários de uma empresa por Setor, apenas dos funcionários -- com data de nascimento posterior a 01/01/1990 Neste caso, o WHERE serviu para restringir as linhas usadas no somatório. Ou seja, se um determinado setor só tem pessoas que nasceram antes de 1990, ele não vai ser nem mencionado nesta consulta! Isto porque o WHERE vai excluir estes dados da consulta! Bem, isto você já sabia, não é novidade! Mas imagine que você queira fazer outro tipo de restrição. Queira restringir para mostrar os setores que tenham o total de salário superior a reais. Como fazer isto? Nossa tendência é querer adicionar este critério no WHERE! Desta forma: WHERE SUM(EMP_SALARIO) > Isto não funcionará! Pois bem, infelizmente o WHERE não consegue entender funções de agregação! Caso deseje fazer a restrição proposta, é necessário usar um comando diferente, feito exclusivamente para ser usado com funções de agregação. Trata-se do HAVING, que é escrito logo após o 4 4
5 GROUP BY. Veja como ficará: SELECT SUM(EMP_SALARIO) AS TOTALSALARIO, EMP_SETOR FROM TB_EMPREGADOS WHERE EMP_DATANASC > ' ' GROUP BY EMP_SETOR HAVING SUM(EMP_SALARIO) > Somatório dos salários de uma empresa por Setor, apenas dos funcionários -- com data de nascimento posterior a 01/01/1990. Serão exibidos apenas os setores que tenham a soma (total de salários) maior que Veja outros exemplos de uso do HAVING: SELECT COUNT(*) AS QTD, TCL_CLI_CODIGO FROM TB_TELEFONE_CLIENTES GROUP BY TCL_CLI_CODIGO HAVING COUNT(*) >= 1 -- Clientes com mais de um telefone SELECT SUM(IVE_PRECO_UN) AS Total, IVE_VEN_CODIGO FROM TB_ITENS_VENDAS GROUP BY IVE_VEN_CODIGO HAVING SUM(IVE_PRECO_UN) >= Vendas que custaram mais de 100 reais SELECT COUNT(*) AS QTD, CLI_NOME FROM TB_TELEFONE_CLIENTES JOIN TB_CLIENTES ON TCL_CLI_CODIGO = CLI_CODIGO WHERE CLI_BAI_CODIGO = 1 GROUP BY CLI_NOME HAVING COUNT(*) >= 1 -- Quantidade de telefones dos clientes com mais de um telefone, -- exibindo o nome do cliente, mas somente para clientes do bairro 1 5 5
6 SELECT MAX(VEN_VALOR) AS MAXIMO, VEM_EMP_CODIGO FROM TB_VENDAS WHERE VEN_BAI_CODIGO IN (3,5,8) GROUP BY VEM_EMP_CODIGO -- O máximo já vendido por cada um dos vendedores, -- somente dos vendedores que moram nos bairros 3, 5 ou 8 SELECT MAX(VEN_VALOR) AS MAXIMO, VEM_EMP_CODIGO FROM TB_VENDAS GROUP BY VEM_EMP_CODIGO HAVING MAX(VEN_VALOR) > O máximo já vendido por cada um dos vendedores, -- somente dos vendedores que já venderam mais de 1000 reais ATIVIDADES Interessante, não? Agora tente resolver estes problemas usando o banco de dados fornecido na pasta da Aula 3 (DB_LOJA), e tente criar as seguintes consultas: 1) Nome do departamento e a quantidade de produtos associados a cada departamento. 2) Nome do cliente e a quantidade de telefones cadastrados para cada cliente, apenas para clientes com mais de um telefone. 3) Quantidade de unidades vendidas e total arrecadado por cada marca. 4) Nome do fornecedor e o total gasto em compras, pela loja, com cada fornecedor em ) Descrição do produto, total de unidades vendidas e total arrecadado por produto em junho de ) Nome do cliente, quantidade de produtos vendidos e total arrecadado por cliente em no 1º semestre de 2012, apenas para os clientes que renderam mais de R$ 100,00 em vendas. 7) Descrição do produto, total de unidades compradas e total gasto por produto em março de 2012, apenas para produtos do departamento de calçados. 8) Descrição do produto, departamento do produto, total de unidades vendidas e total arrecadado por produto no primeiro semestre 2012, apenas para produtos com os quais se arrecadou mais de R$ 500,00. Caso não encontre alguma coluna ou dados correspondentes a sua pesquisa, insira-os (modificando a tabela ou inserindo linhas que atendam o critério) e tente novamente! 6 6
7 Subconsultas Subconsulta é nada mais que alinhar uma consulta dentro de outra consulta, ou mesmo inserir uma consulta dentro de uma instrução INSERT, UPDATE ou DELETE. Testaremos a seguir o poder desta técnica, e sua utilidade. Em nosso primeiro teste, vamos fazer uma consulta simples, para descobrir quais são os 3 itens mais caros da minha loja. Para isto, podemos usar a seguinte consulta MySQL: SELECT PRO_CODIGO FROM TB_PRODUTOS ORDER BY PRO_PRECO DESC LIMIT 3 Este código, basicamente vai exibir o código dos 3 produtos mais caros (uma vez que ordenamos a listagem em ordem decrescente de preço e em seguida limitamos a 3 resultados). Esta consulta está terminada. Mas vamos agora pensar em outra situação. Imagine que deseje fazer uma pesquisa na tabela de itens das vendas, listando todas as vendas dos itens 1, 2, 3, 4. De acordo com o que aprendemos anteriormente, a resposta seria esta: SELECT * FROM TB_ITENSVENDAS WHERE ITV_PRO_CODIGO IN (1,2,3,4) Perfeito! Este código vai trazer os registros de todas as vezes que qualquer um dos itens nesta lista (no caso: 1, 2, 3 ou 4) foi inserido em alguma venda! Mas agora vamos juntar as duas coisas. Quero uma consulta que me retorne os registros de venda dos 3 itens mais caros! Isso poderia ser útil na loja para saber se algum produto caro está sendo pouco vendido, por exemplo! Para isto, eu terei que substituir a minha lista manual, que criamos com o código ITV_PRO_CODIGO IN (1,2,3,4) por uma consulta! O resultado seria: SELECT * FROM TB_ITENSVENDAS WHERE ITV_PRO_CODIGO IN (SELECT PRO_CODIGO FROM TB_PRODUTOS ORDER BY PRO_PRECO DESC LIMIT 3) Mas esta não é a única forma de se usar uma subconsulta, ou subquery. Veja na continuação alguns exemplos interessantes. SELECT * FROM TB_PRODUTOS WHERE PRO_PRECO > (SELECT AVG(PRO_PRECO) FROM TB_PRODUTOS) -- Produtos que tenham o preço maior que a média 7 7
8 SELECT EMP_NOME FROM TB_EMPREGADOS WHERE EMP_SEXO = 'F' AND EMP_IDADE > ANY (SELECT EMP_IDADE FROM TB_EMPREGADOS WHERE EMP_SEXO ='M') -- Retorna, em uma tabela de empregados, todas as mulheres cuja idade seja maior que a de qualquer homem -- Este mesmo código poderia ser também feito da seguinte forma: SELECT EMP_NOME FROM TB_EMPREGADOS WHERE EMP_SEXO = 'F' AND EMP_IDADE > (SELECT MAX(EMP_IDADE) FROM TB_EMPREGADOS WHERE EMP_SEXO ='M') VIEWS Imagine que você criou um SELECT com várias tabelas usando JOIN, filtrando os resultados com WHERE, ordenando os resultados com ORDER BY e usando vários outros recursos. Agora, imagine que deseje executar esta mesma consulta várias vezes em várias partes do seu software. Será necessário copiar e colar várias vezes o comando! Além disto, o processador irá converter a sua consulta em linguagem de máquina toda vez que tentar executar! Não esqueça também que quando for fazer uma manutenção na sua pesquisa, deverá alterar todas as consultas semelhantes! É realmente um problema. Para resolver estes problemas, os SGBD's oferecem um recurso para trabalhar com visualizações ou views, como são mais conhecidas. O objetivo de uma VIEW é armazenar uma consulta para execução posterior. Esta consulta já fica "compilada", ou seja, preparada para ser executada (o que reduz o tempo para execução da tarefa) além de não ocupar quase nada de espaço em disco! Uma vez criada, a view será tratada como uma tabela normal. Será possível fazer consultas em cima dela! Vejamos os exemplos abaixo. Primeiramente, vamos criar ima view. O código SQL é bem simples: CREATE VIEW VW_CLIENTES_ZONA_NORTE AS SELECT * FROM TB_CLIENTES WHERE CLI_BAI_CODIGO IN (5,7,9,11) Este código criou uma view chamada VW_CLIENTES_ZONA_NORTE, que armazena uma consulta que basicamente exibe os clientes da zona norte (neste caso, que moram nos bairros 5, 8 8
9 7, 9 ou 11). Lembre-se que o prefixo VW_ não é obrigatório, mas apenas nos ajuda a identificar mais facilmente que se trata de uma VIEW. Você pode usar qualquer recurso do SELECT em sua view. Por exemplo: subconsultas, funções de agregação, uniões, JOIN, GROUP BY e o que mais desejar! Basta usar esta sintaxe básica que a view será criada. Mas agora... Como usar a VIEW? Usar uma view é ainda mais fácil do que criar! Use-a como se fosse uma tabela qualquer. Veja o código abaixo: SELECT * FROM VW_CLIENTES_ZONA_NORTE Viu como é fácil? Teste você mesmo, criando agora VIEWS para as atividades anteriores de select. O uso de views pode facilitar bastante nosso trabalho. Uma vez criada, podemos fazer consultas normais nesta view, como se fosse uma tabela comum! Veja o exemplo: SELECT * FROM VW_CLIENTES_ZONA_NORTE WHERE CLI_IDADE > 18 No exemplo acima, fizemos uma restrição. A pesquisa acima exibiria apenas os clientes que tem mais de 18 anos e que morem na zona norte (uma vez que a VW_CLIENTES_ZONA_NORTE exibe apenas os clientes que moram nos bairros 5,7, 9 ou 11). Veja outros exemplos de views: CREATE VIEW VW_FUNC AS SELECT FUN_CODIGO, FUN_NOME, FUN_IDADE FROM TB_FUNCIONARIOS WHERE FUN_SETOR = 1 Neste exemplo, criamos uma view para os funcionários de uma empresa. Esta view só vai retornar 3 colunas (código, nome e idade). A coluna de setor, por exemplo, não será exibida, apesar do filtro estar sendo aplicado! Desta forma, a consulta abaixo retornará um erro: SELECT FUN_SETOR FROM VW_FUNC -- Essa consulta retorna um erro Este erro ocorre porque nossa view está restrita as três colunas que foram definidas na criação. A coluna de setor ou qualquer outra coluna existente na tabela original não poderá ser usada! Isto pode ser uma vantagem se desejar ocultar alguma informação (por exemplo, o salário) das pessoas que usam o banco. 9 9
10 Bibliografia [1] Material didático do professor Ari Oliveira. < Acessado em julho de
Pesquisas em Tabelas
Projeto e Administração de Banco de Dados Pesquisas em Tabelas Objetivo Nesta unidade você vai estudar sobre pesquisas em linguagem SQL incluindo comandos de junção de tabelas. Introdução Agora que temos
Leia maisLinguagem SQL Comando SELECT Agrupamento de Resultados
BDDAD Bases de Dados Linguagem SQL Comando SELECT de Resultados Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/12 Introdução Sumário Funções de Agregação Básicas COUNT SUM MIN MAX AVG Cláusulas de GROUP BY HAVING
Leia maisRápida revisão do Modelo Relacional
Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.
Leia maisBANCO DE DADOS PARA WEB
BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com BANCO DE DADOS O banco de dados será de fundamental importância para a criação de páginas dinâmicas,
Leia maisE-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R
101010101 001010101 101010100 E-BOOK GUIA RÁPIDO DE SQL INTRODUÇÃO Este é um guia rápido de SQL criado pela equipe do TreinaWeb e serve principalmente para iniciantes na linguagem. SQL é a sigla em inglês
Leia maissaída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única
Tópicos do Curso: Introdução Listar os principais recursos do Banco de Dados Oracle 10g Apresentar uma visão geral de: componentes, plataforma de internet, servidor de aplicações e suite do desenvolvedor
Leia maisOracle Database 10g: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer
Leia maisOracle Database 11g: Introdução à Linguagem SQL Novo
Oracle University Contact Us: 0800 891 6502 Oracle Database 11g: Introdução à Linguagem SQL Novo Duration: 5 Days What you will learn Neste curso, os alunos aprendem os conceitos de bancos de dados relacionais.
Leia maisBANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>
BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:
Leia maisA U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )
BANCO DE DADOS GERENCIAL 1 A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) VIEW é uma instrução SQL que retorna dados e é salva no banco de dados com um nome, ou seja, passa a ser um objeto
Leia maisORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL
ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Objetivo: No curso Oracle 11G Introdução ao Oracle, SQL, PL/SQL será abordado desde a introdução da tecnologia do banco de dados em questão como todos os conceitos
Leia maisMODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.
MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update
Leia maisMODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.
MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update
Leia maisProjeto e Administração de Banco de Dados
Projeto e Administração de Banco de Dados Linguagens de Definição de Manipulação de Dados Objetivo Nesta unidade você vai estudar sobre a linguagem SQL e os principais comandos para definição e manipulação
Leia maisSQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...
Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@facom.ufu.br Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...
Leia maisMYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>
1. Manuseio do banco de dados MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS As seguintes instruções manuseiam o banco de dados: cria o banco mostra os bancos
Leia maisLinguagem de Consulta Estruturada SQL- DML
Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation
Leia maisLaboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho
Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para
Leia maisA U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A
BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem
Leia maisBanco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas O que é banco de dados? São conjuntos de registros dispostos
Leia maisAs Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados:
As Instruções DML As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados: o INSERT - permite a inclusão de novos registros (linhas) nas tabelas o
Leia maisMúltiplas Tabelas. Disciplina de Banco de Dados
Múltiplas Tabelas Uma das grandes características de um sistema de banco de dados relacional é a capacidade de interagir com múltiplas tabelas relacionadas. Precisamos lembrar que para relacionar tabelas
Leia maisJosé Antônio da Cunha CEFET - RN. José Antônio - CEFET-RN
José Antônio da Cunha CEFET - RN Para totalizar dados, ou seja, somar, contar, calcular média, obter o maior e o menor valores existentes, utilizamos as seguintes funções oferecidas pelo SQL: Função Sintaxe
Leia maisSQL - Consultas
SQL - Consultas 2008.1 Manipulando Dados CONSULTA SELECT INCLUSÃO INSERT ALTERAÇÃO UPDATE EXCLUSÃO DELETE Consultas SQL Realização de consultas em tabelas SELECT atributo1, atributo2,... FROM tabela 1,
Leia maisBanco de Dados. Professora: Luciana Faria
Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é
Leia maisBanco de Dados II. Aula 02. Prof. Diemesleno Souza Carvalho
Banco de Dados II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... - Sistemas de Gerenciamento de Banco de Dados
Leia maisAULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)
AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados
Leia maisVisão & Visão Materializada. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
Visão & Visão Materializada Laboratório de Bases de Dados Em SQL Visão tabela simples que é derivada de outras tabelas não existe necessariamente em sua forma física: tabela virtual Utilidade forma de
Leia maisBanco de Dados II. Aula do dia 10/03. Revisão. SQL Estudado até o dia 03/03/2011
Banco de Dados II Aula do dia 10/03 Revisão SQL Estudado até o dia 03/03/2011 Operadores de Comparação Operador = > >= <
Leia maisUsando Subconsultas para Solucionar Consultas
Usando Subconsultas para Solucionar Consultas Objetivos Ao concluir esta lição, você será capaz de: Definir subconsultas Descrever os tipos de problemas que as subconsultas podem solucionar Listar os tipos
Leia maisTabelas. Banco de Dados I MySQL
FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de
Leia maisSubconsulta na Cláusula FROM
Subconsulta na Cláusula FROM Gera uma tabela derivada a partir de uma ou mais tabelas, para uso na consulta externa otimização: filtra linhas e colunas de uma tabela que são desejadas pela consulta externa
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
Leia maisIMPLEMENTAÇÃO DE BANCO DE DADOS
IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão
Leia maisMySql. Introdução a MySQL. Andréa Garcia Trindade
MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo
Leia maisStored Procedures e Triggers
e Triggers Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Rotinas Armazenadas Stored Procedures Exemplos Triggers Exemplos Exercícios 2 Rotinas Armazendas Rotinas Armazenadas são um conjunto de comandos
Leia mais26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real
www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=28194 Triggers no SQL Server: teoria e prática aplicada em uma situaçã o real Veja neste
Leia maisMaterial Teórico. Cláusula GROUP BY e HAVING. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque
Banco de Dados Material Teórico Cláusula GROUP BY e HAVING Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Revisão Textual: Profa. Esp.Vera Lídia de Sá Cicarone Cláusula GROUP BY e
Leia maisProf. Fabiano Taguchi
BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com OPERAÇÕES LÓGICAS AND (E) Avalia as condições e devolve um valor verdadeiro caso ambas condições forem
Leia maisANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início
Leia maisBanco de Dados II. Aula Prof. Diemesleno Souza Carvalho
Banco de Dados II Aula 02.4 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Subconsultas Subconsultas Contextualizando... De forma geral, grande parte das consultas
Leia maisOracle Database: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens
Leia maisRoteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões
Ciência da Computação GBC043 Sistemas de Banco de Dados Roteiro SQL: Visões Consultas Avançadas Visões Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018
Leia maisAtualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g
Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando
Leia maisSQL (Tópicos) Structured Query Language
SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir
Leia maisPrincipais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.
Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,
Leia maisAna Cristina de Figueiredo Dornelas SQL E ORACLE 3ª. PARTE
Ana Cristina de Figueiredo Dornelas E-mail: anacristina.dornelas@gmail.com SQL E ORACLE 3ª. PARTE 1 Exibindo dados de várias tabelas O que é uma junção? Use uma junção para consultar dados a partir de
Leia maisBanco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.
Banco de Dados I Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo DML Data Manipulation Language Parte II Consultas Básicas
Leia maisSumário SELECT + FROM
Sumário 1 Introdução SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 2 3 Operadores de Conjuntos 4 5 Agregações 6 Ordenações e Limites 7 Sub-perguntas 8
Leia maisExercícios para revisão
Curso Técnico em Informática Nome: Disciplina de Banco de Dados II Data: Professor: Ricardo Luis dos Santos Com base no E-R a seguir, faça as consultas abaixo: Exercícios para revisão Onde: Cliente (CodCliente,
Leia maisLista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I
Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.
Leia maisSQL Uma Visão mais Ampla
SQL Uma Visão mais Ampla Banco de Dados Modelo Entidade-Relacionamento n possui 1 1 oferece n filial_nro filial_local filial_data_abertura cli_codigo cli_nome cli_telefone m aluga n FILIAL 1 cadastra n
Leia maisSQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012
SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Perguntas February 24, 2012 1 / 46 Sumário 1 Introdução 2 Seleccionar e Filtrar
Leia maisOTIMIZAÇÃO DE CONSULTAS - MYSQL. Prof. Antonio Almeida de Barros Junior
OTIMIZAÇÃO DE CONSULTAS - MYSQL Prof. Antonio Almeida de Barros Junior Para a otimização de um SGBD precisamos identificar as consultas lentas que eventualmente são submetidas ao banco: Configurações do
Leia maisBANCO DE DADOS GERENCIAL 1 A U L A 2
BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :
Leia maisTLBD II Instruções SQL
TLBD II Instruções SQL Os comandos SQL podem dividir-se em três grandes categorias: DML - Data Manipulation Language - trabalha com linhas; DDL - Data Definition Language - trabalha com objetos; DCL -
Leia maisAula 03 - Trabalhando com listas de dados I. Aula 03 - Trabalhando com listas de dados I. Sumário. Introdução
Aula 03 - Trabalhando com listas de dados I Sumário Introdução Formulário Inserindo um registro Excluindo um registro Filtrando e pesquisando registros AutoFiltro Aplicando o AutoFiltro Aplicando o AutoFiltro
Leia maisCalc. Interface, Formatação e Cálculos
Calc Interface, Formatação e Cálculos INTERFACE Tal como no Writer, a Interface do Calc composta pela organização dos menus e atalhos que compõem o programa, que dão acesso às suas funcionalidades. É interessante
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar
- Aula 7 - FUNÇÕES DE GRUPO E AGRUPAMENTO 1. INTRODUÇÃO Até agora trabalhamos com funções que tratavam apenas uma linha. Contudo, em diversas situações é necessário trabalhar com várias linhas da consulta.
Leia mais1 Criando tabelas de produtos com funções de procura
1 Criando tabelas de produtos com funções de procura Em determinado período estipulado por seu departamento, é necessário analisar o relatório de vendas e determinar quais produtos foram um sucesso de
Leia maisPara criarmos um banco de dados no MySql, utilizamos à instrução:
Databases Os objetos que fazem parte de um sistema de banco de dados são criados dentro de um database, uma estrutura lógica responsável por manter a estrutura de tabelas com seus dados. Para criarmos
Leia maisPara começar, vamos começar vendo alguns exemplos do uso da SOMASE na gestão de empresas:
Este conteúdo faz parte da série: Excel Fórmulas Avançadas Ver 10 posts dessa série Esse é o meu segundo post da série Como gerir melhor usando uma função do Excel (veja o meu post sobre a PROCV função
Leia maisBanco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Leia mais1 VENDA RÁPIDA ATENDIMENTO CLIENTES... 4
SISTEMA DE GESTÃO N1 ÍNDICE 1 VENDA RÁPIDA... 3 2 ATENDIMENTO... 4 2.1 CLIENTES... 4 2.1.1 ADICIONAR CLIENTE... 4 2.1.2 LISTAR CLIENTES... 5 2.1.3 ORIGEM... 6 2.1.4 BUSCAR CLIENTE... 6 2.1.5 CREDIÁRIO
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar
- Aula 8 - SUBCONSULTAS - SUBQUERIES 1. INTRODUÇÃO Nas sessões anteriores foi visto o comando SELECT sendo utilizado em conjunto com uma gama de funções. Dando continuidade veremos o comando SELECT utilizando
Leia maisTarefa Orientada 17 Scripts
Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros
Leia maisSQL. Prof. Roger Cristhian Gomes
SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões
Leia maisRoteiro 10: Consultas com várias tabelas/operadores de busca
Roteiro 10: Consultas com várias tabelas/operadores de busca Objetivos: Criar consultas utilizando várias tabelas Explorar as funcionalidades de selects em várias tabelas utilizando a notação tabela.campo
Leia mais1. Entendendo os erros que aparecem no Excel:
Este conteúdo faz parte da série: Excel Fórmulas Avançadas Ver 10 posts dessa série Todo mundo que usa o Excel, desde o básicão até as funções mais avançadas pode ter tido a experiência de ver as mesmas
Leia maisCriar ou excluir um relatório de tabela dinâmica ou de gráfico
Página 1 de 11 Excel > Analisando dados > Relatórios da Tabela Dinâmica > Fundamentos da Tabela Dinâmica Criar ou excluir um relatório de tabela dinâmica ou de gráfico dinâmico Mostrar tudo Para analisar
Leia maisSubconsulta na Cláusula FROM
Subconsulta na Cláusula FROM Gera uma tabela derivada a partir de uma ou mais tabelas, para uso na consulta externa otimização: filtra linhas e colunas de uma tabela que são desejadas pela consulta externa
Leia maisA U L A 9 F U N Ç Õ E S A G R E G A D A S E C Á L C U L O S
BANCO DE DADOS GERENCIAL 1 A U L A 9 F U N Ç Õ E S A G R E G A D A S E C Á L C U L O S Funções Agregadas São funções aquelas que tomam uma coleção (um conjunto ou subconjunto) de valores como entrada,
Leia maisDML - SELECT Agrupando Dados
DML - SELECT Agrupando Dados 1. Apresentação Já conhecemos os comandos básicos de manipulação de dados: insert; delete; update e select. O comando de consulta select utilizado até aqui era aplicado sobre
Leia maisPostgreSQL Desenvolvedor
CONTEÚDO PROGRAMÁTICO PostgreSQL Desenvolvedor Carga horária: 32 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO Ementa do
Leia maisDDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR
SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80
Leia maisProjeto de Banco de Dados
Projeto de Banco de Dados Laboratório de Banco de Dados Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1, nome_tabela2,...,
Leia maisBanco de Dados. José Antônio da Cunha CEFET RN
Banco de Dados José Antônio da Cunha CEFET RN Sub-consulta(Subquery) as subqueries permitem que você obtenha dados de uma tabela com base na existência desses dados em outra ou outras tabelas. Sub-consultas
Leia maisFTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Revisão dos comandos INSERT INTO SELECT Comando WHERE Comando Excluir (DELETE)
Leia maisUtilizando JOINS. Utilizar a cláusula WHERE para fazer seus JOINs (relacionamentos), limita os relacionamentos a apenas um tipo deles, o INNER JOIN.
Utilizando JOINS Utilizar a cláusula WHERE para fazer seus JOINs (relacionamentos), limita os relacionamentos a apenas um tipo deles, o INNER JOIN. Vamos iniciar com três tipos de Joins: INNER JOIN LEFT
Leia maisSQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.
LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre
Leia maisO usuário pode restringir dados a um determinado tipo, como números inteiros, números decimais ou texto, e definir limites para as entradas válidas.
, %&!', A Validação de Dados permite que você determine condições para restringir os dados a serem digitados numa ou mais células. Dessa forma, tornando sempre válidas as informações numa planilha. O usuário
Leia maisProfessor Mauricio Lederer Algoritmos. Entrada e saída de dados
Entrada Algoritmos Entrada e saída de dados Muitas vezes, um algoritmo, para que possa trabalhar, precisa de dados de entrada informados pelo usuário, porque nem sempre é necessário ter esse tipo de dados.
Leia maisMódulo 03. Trabalhando com listas, imagens e tabelas
Módulo 03 Trabalhando com listas, imagens e tabelas Apresentação do módulo 03 Objetivos do módulo Boas vindas ao terceiro módulo do curso Primeiros Passos no Word. Neste módulo vamos saber como utilizar
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
Leia maisEx.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )
PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES
Leia maisConceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao
SQL Lúbia Vinhas Conceitos básicos En#dades: en4dade é uma coisa do mundo real, com uma existência independente. Atributos são as propriedades dessa coisa. Cada atributo está associado a um determinado
Leia maisLinguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;
MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel
Leia maisAula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka
Aula de SQL Comandos DDL André Luiz de Oliveira Eduardo Raul Hruschka E-mail: andre_luiz@icmc.usp.br erh@icmc.usp.br Agenda Instalação do MySQL e Workbench Comandos DDL Data Definition Language Criação
Leia maisPreparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018
Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table
Leia maisBases de Dados. DML Data Manipulation Language Parte 2
Bases de Dados DML Data Manipulation Language Parte 2 Funções de Grupo São funções aplicáveis a conjuntos de linhas de uma tabela À totalidade dos elementos ou A um subconjunto especificado na cláusula
Leia maisBases de Dados. DML Data Manipulation Language Parte 3
Bases de Dados DML Data Manipulation Language Parte 3 Sub-Consultas São consultas contidas na cláusula WHERE ou HAVING de uma outra consulta SQL Essencialmente consiste numa instrução SELECT contida noutra
Leia maisVersão do documento agosto Usando recursos avançados de geração de relatórios Soluções Ariba On-Demand
Versão do documento agosto 2012 Usando recursos avançados de geração de relatórios Soluções Ariba On-Demand Conteúdo Modificando opções de exibição....3 Formatando dados de campo....5 Analisando a variação
Leia maisSQL - Structured Query Language
SQL - Structured Query Language Comando Insert Comando utilizado para a inserção de dados em um registro junto a uma base de dados específica. A diagramação a seguir demonstra o fluxo existente na operação
Leia maisFundamentos de Programação ORACLE: SQL. Prof. Walter Gima
Fundamentos de Programação ORACLE: SQL. 1 Prof. Walter Gima walter_gima@yahoo.com.br ALIAS RELACIONAMENTOS TO_CHAR SYSDATE ROWNUM CONCATENAÇÃO PROCEDURES FUNCTIONS 2 ALIAS Utilizado para facilitar o uso
Leia maisManipulando a base de dados
Manipulando a base de dados Uma base de dados pode ser manipulada com quatro operações básicas: Incluir, Apagar, Alterar e Pesquisar. Vale lembrar que como toda linguagem para computadores, o MySQL tem
Leia maisAula 4 Microsoft PowerPoint 2003: Criando uma Apresentação
Universidade de São Paulo/Faculdade de Saúde Pública Curso de Saúde Pública Disciplina: HEP 147 Informática I Aula 4 Microsoft PowerPoint 2003: Criando uma Apresentação 1 Introdução ao Microsoft PowerPoint
Leia mais