Banco de Dados II. Aula 02. Prof. Diemesleno Souza Carvalho

Documentos relacionados
Banco de Dados. Aula 03. Prof. Diemesleno Souza Carvalho

Prof. Fabiano Taguchi

DML - SELECT Agrupando Dados

Aula 05. Prof. Diemesleno Souza Carvalho

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

Banco de Dados II. Aula Prof. Diemesleno Souza Carvalho

BANCO DE DADOS PARA WEB

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Rápida revisão do Modelo Relacional

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

MySql. Introdução a MySQL. Andréa Garcia Trindade

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:

IMPLEMENTAÇÃO DE BANCO DE DADOS

Roteiro 10: Consultas com várias tabelas/operadores de busca

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Tarefa Orientada 7 Consultas de selecção

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

-- 1. Apresente o nome de todos os autores em ordem alfabética Apresente o nome dos clientes que iniciam com a letra J

MANUAL DE INSTRUÇÕES

Natanael Gonçalves Afonso 8º Período Engenharia da Computação Skydrive:

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Funções de Agregação, Subconsultas e Views

SQL - Consultas

Podemos também definir o conteúdo dos menus da página inicial. Clique em Menus, Main Menu.

TLBD II Instruções SQL

Banco de Dados. Professora: Luciana Faria

Introdução 20 Diagramas de fluxos de dados 20 O processo de elaboração de DFD 22 Regras práticas para a elaboração de DFD 24 Dicionário de dados 26

SIMAR UNIVERSIDADE DE BRASÍLIA. Centro de Informática CPD. SIMAR Sistema de Compras de Materiais

CENTRALIZADO DO WHL E1G PROCEDIMENTO PARA GERENCIAMENTO DE USUÁRIOS E SENHAS

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio

Pesquisas em Tabelas

BANCO DE DADOS GERENCIAL 1 A U L A 2

ENVIO AUTOMATIZADO DE S EMISSOR NFE ADVANCED

ANÁLISE E PROJETO DE BANCO DE DADOS

MANUAL DO SISTEMA DE CONSULTA DE COMISSÃO

TLBD II. Continuação

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

AULA 3 Ferramentas de Análise Básicas

Laboratório de Programação II

MÓDULO 8 INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA POR OBJETOS O QUE É A PROGRAMAÇÃO ORIENTADA POR OBJETOS 10

SINACOR GUIA CONCILIADOR

CONTEÚDO PROGRAMÁTICO

1. ACESSO MENU PRINCIPAL Página Inicial Botões no Topo da Tela Campos para Exibição... 4

Ana Cristina de Figueiredo Dornelas SQL E ORACLE 3ª. PARTE

Linguagem SQL Comando SELECT Agrupamento de Resultados

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

ANEXO B Manual básico de SQL

SQL - Structured Query Language

ACESSO AO BANCO DE DADOS PARTE 2 ALTERAÇÃO, EXCLUSÃO E INCLUSÃO DE REGISTROS

Manual do Portal do Fornecedor. isupplier

Passo a passo para emissão de Nota Fiscal de Produtor Eletrônica NFP-e

Descrição A finalidade do curso do módulo Domínio Protocolo é apresentar aos nossos usuários:

Conexão com Banco de Dados

Excel Tabela Dinâmica - Incrementando seus conhecimentos e Aperfeiçoando a sua prática Excel 2010 Uso inteligente da Tabela Dinâmica

Orientações ao Administrador Regional

Banco de dados 1. Linguagem SQL DDL e DML Parte 2. Professor: Victor Hugo L. Lopes

Manipulando a base de dados

Manual de atualização para uso do xml versão 3.10

Múltiplas Tabelas. Disciplina de Banco de Dados

Concessão - Aposentadoria

Exames. Data criação: 27/05/ de 13

Figura 1 - Planilha Relatório de Notas 1

Schaeffler Online. Manual de Operação

Como se origina um curso de especialização no SIGAA?

ID-Spec. Software Schneider Electric para Pré-projeto de Distribuição elétrica em prédios industriais e terciários

SIEX UNIVERSIDADE DE BRASÍLIA. Centro de Informática CPD. SIEX Sistema de Extensão. [SISTEMA DE EXTENSÃO] Manual de Funcionalidades do Sistema SIEX.

Tutorial SQL Server 2014 Express

PIA Plano Individual de Atividades MANUAL

Coordenação de Curso dentro

Manual de Versão Sistema Group Manager

INSTRUÇÕES DE UTILIZAÇÃO DO SISTEMA PARA COORDENADORES

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil -

Tutorial para uso da área do professor

Relaciona Multibanco 1.0

Tutorial de Instalação Integratto Contábil SQL. Integratto Contábil SQL

Álgebra Relacional e SQL

Manual do Usuário. Sistema de Notas Fiscais Produtor/Avulsa. Módulo NFPA - e

Diário de Classe. Senac Solution. Manual de Operação V.01

Introdução ao Banco de Dados. Banco de Dados

Utilizando JOINS. Utilizar a cláusula WHERE para fazer seus JOINs (relacionamentos), limita os relacionamentos a apenas um tipo deles, o INNER JOIN.

ATUALIZAÇÃO CADASTRAL REDE PETRO-BC

Como cadastrar um produto, e o que é necessário para um cadastro correto. Controle de estoque > Tabelas gerais > produtos > acesso a dados gerais

Gestão Unificada de Recursos Institucionais GURI

1. ACESSANDO O SISTEMA

MANUAL DE ORIENTAÇÃO AOS SERVIÇOS DO PORTAL ECONOMUS (ACESSO EXCLUSIVO)

Ministério da Cultura

Noções básicas do SAP Business One Tópico: Cadastro e documentos

Preparação. Na página do curso, fazer download do arquivo LabAula.txt; No EasySQL,

MANUAL DE FILAS DE ATENDIMENTO

Código PD0017. Este documento ter por objetivo auxiliar o usuário no entendimento e utilização do Nexus.

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

Manual Recurso Valores Default. FullCopyConvert Data

SQL (com MySQL) Apresentação OBJETIVOS. Programação

Transcrição:

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 (SGBD): - Arquitetura; - Segurança; - Concorrência; - Recuperação após falha; - Gerenciamento de Transações.

Na aula de hoje veremos...

Na aula de hoje veremos... - Linguagens de Consulta

Consultar dados em uma base de dados é o propósito final da utilização de um banco de dados. Mas para que possamos fazer isso devemos: - Criar um banco de dados; - Construir as tabelas dentro deste banco de dados; - Popular as tabelas com alguns dados;

Consultar dados em uma base de dados é o propósito final da utilização de um banco de dados. Mas para que possamos fazer isso devemos: - Criar um banco de dados; - Construir as tabelas dentro deste banco de dados; - Popular as tabelas com alguns dados;

1) Baseado na nota fiscal ao lado, aplique a normalização de dados (1º, 2º e 3º Formas Normais); 2) Crie os diagramas ER (Entidade-Relacionamento) e crie o banco de dados chamado 'normalizacao01'; 3) Adicione dados nas tabelas criadas, respeitando os relacionamentos. OBS: Recomenda-se a utilização da ferramenta MySQL Workbench.

Após a noralização terminada, deveríamos ter algo semelhante a este diagrama.

Neste primeiro momento iremos trabalhar com a ferramenta MySQL Workbench.

Em aulas futuras, iremos trabalhar também com o pgadmin para o PostgreSQL.

Desta forma a ideia é que aprendam a utilizar as principais ferramentas do mercado para desenvolvimento.

Abra o MySQL Workbench.

Caso não tenha uma conexão criada, crie. Na imagem abaixo tenho uma conexão chamada 'Local' para o usuário 'aluno'

Com a conexão criada, clique na mesma para que o Editor SQL seja aberto.

Repare que nos schemas mostrados, o banco de dados que estamos utilizando 'normalizacao01' está selecionado.

Repare que nos schemas mostrados, o banco de dados que estamos utilizando 'normalizacao01' está selecionado. Para selecionar qualquer banco de dados, basta dar um clique duplo no nome do mesmo.

- Consultas básicas

- Consultas básicas A estrutura básica de uma expressão de consulta SQL consiste em duas cláusulas: SELECT e FROM

- Consultas básicas A estrutura básica de uma expressão de consulta SQL consiste em duas cláusulas: SELECT e FROM SELECT <lista-de-colunas> FROM <lista-de-tabelas>;

- Consultas básicas A estrutura básica de uma expressão de consulta SQL consiste em duas cláusulas: SELECT e FROM SELECT <lista-de-colunas> FROM <lista-de-tabelas>; A cláusula SELECT serve para definir as colunas que terão seus valores exibidos na consulta e a ordem de apresentação dessas colunas. A cláusula FROM, por sua vez, serve para indicar as tabelas de origem das referidas colunas.

- Consultas básicas SELECT id, nome, endereco, cpf, telefone FROM clientes; Na instrução SQL acima, estamos então selecionando as colunas: id, nome, endereco, cpf e telefone da tabela clientes.

- Consultas básicas SELECT id, nome, endereco, cpf, telefone FROM clientes; Na instrução SQL acima, estamos então selecionando as colunas: id, nome, endereco, cpf e telefone da tabela clientes.

- Consultas básicas SELECT id, nome, endereco, cpf, telefone FROM clientes; Na instrução SQL acima, estamos então selecionando as colunas: id, nome, endereco, cpf e telefone da tabela clientes. OBS: Digite a consulta no Editor SQL do MySQL Workbench e execute clicando no botão 'execute'.

- Consultas básicas Na instrução SQL abaixo, estamos então selecionando as colunas: id, nome, endereco, cpf e telefone da tabela clientes.

- Consultas básicas Faça o mesmo com as tabelas: produtos; notasfiscais; produtosnotasfiscais;

- Consultas básicas SELECT id, nome, preco FROM produtos; Na instrução SQL acima, estamos então selecionando as colunas: id, nome e preco da tabela produtos.

- Consultas básicas SELECT id, nome, preco FROM produtos; Na instrução SQL acima, estamos então selecionando as colunas: id, nome e preco da tabela produtos.

- Consultas básicas SELECT id, nome, preco FROM produtos; Na instrução SQL acima, estamos então selecionando as colunas: id, nome e preco da tabela produtos.

- Consultas básicas SELECT id, nome, preco FROM produtos; Na instrução SQL acima, estamos então selecionando as colunas: id, nome e preco da tabela produtos.

- Consultas básicas SELECT id, idcliente, dataemissao, valor FROM notasfiscais; Na instrução SQL acima, estamos então selecionando as colunas: id, idcliente, dataemissao, e valor da tabela notasfiscais.

- Consultas básicas SELECT id, idcliente, dataemissao, valor FROM notasfiscais; Na instrução SQL acima, estamos então selecionando as colunas: id, idcliente, dataemissao, e valor da tabela notasfiscais.

- Consultas básicas SELECT id, idcliente, dataemissao, valor FROM notasfiscais; Na instrução SQL acima, estamos então selecionando as colunas: id, idcliente, dataemissao, e valor da tabela notasfiscais.

- Consultas básicas SELECT id, idnotafiscal, idproduto, quantidade FROM produtosnotafiscal; Na instrução SQL acima, estamos então selecionando as colunas: id, idnotafiscal, idproduto, e quantidade da tabela produtosnotafiscal.

- Consultas básicas SELECT id, idnotafiscal, idproduto, quantidade FROM produtosnotafiscal; Na instrução SQL acima, estamos então selecionando as colunas: id, idnotafiscal, idproduto, e quantidade da tabela produtosnotafiscal.

- Consultas básicas SELECT id, idnotafiscal, idproduto, quantidade FROM produtosnotafiscal; Na instrução SQL acima, estamos então selecionando as colunas: id, idnotafiscal, idproduto, e quantidade da tabela produtosnotafiscal.

- Consultas básicas - com alias (apelidos)

- Consultas básicas - com alias (apelidos) Podemos dar 'apelidos' para as colunas da nossa consulta, utilizando a cláusula AS.

- Consultas básicas - com alias (apelidos) Na consulta abaixo, estamos colocando aliases para as 3 colunas da tabela produtos. SELECT id AS Código, nome AS Nome, preco AS Preço FROM produtos;

- Consultas básicas - com alias (apelidos) Na consulta abaixo, estamos colocando aliases para as 3 colunas da tabela produtos. SELECT id AS Código, nome AS Nome, preco AS Preço FROM produtos;

- Consultas básicas - com alias (apelidos) Na consulta abaixo, estamos colocando aliases para as 3 colunas da tabela produtos. SELECT id AS Código, nome AS Nome, preco AS Preço FROM produtos;

- Consultas básicas - com alias (apelidos) Na consulta abaixo, estamos colocando aliases para as 3 colunas da tabela produtos. SELECT id AS Código, nome AS Nome, preco AS Preço FROM produtos;

- Consultas básicas Podemos também selecionar todas as colunas de uma tabela utilizando o caractere asterisco '*'.

- Consultas básicas SELECT * FROM produtos; Podemos também selecionar todas as colunas de uma tabela utilizando o caractere asterisco '*'.

- Consultas básicas SELECT * FROM produtos; Podemos também selecionar todas as colunas de uma tabela utilizando o caractere asterisco '*'.

- Consultas com cláusula ORDER BY

- Consultas com cláusula ORDER BY SELECT <lista-de-colunas> FROM <lista-de-tabelas> ORDER BY <lista-decolunas>;

- Consultas com cláusula ORDER BY SELECT <lista-de-colunas> FROM <lista-de-tabelas> ORDER BY <lista-decolunas>; A cláusula ORDER BY objetiva estabelecer a ordem de apresentação dos registros em uma consulta SQL. Ela deve ser incluída no código da consulta após as cláusulas SELECT e FROM. ORDER BY normalmente é a última cláusula de uma consulta.

- Consultas com cláusula ORDER BY SELECT id, idnotafiscal, idproduto, quantidade FROM produtosnotafiscal ORDER BY idpdoduto;

- Consultas com cláusula ORDER BY SELECT id, idnotafiscal, idproduto, quantidade FROM produtosnotafiscal ORDER BY idpdoduto;

- Consultas com cláusula ORDER BY SELECT id, idnotafiscal, idproduto, quantidade FROM produtosnotafiscal ORDER BY quantidade;

- Consultas com cláusula ORDER BY SELECT * FROM produtosnotafiscal ORDER BY idnotafiscal;

- Consultas com cláusula ORDER BY SELECT * FROM produtosnotafiscal ORDER BY idnotafiscal DESC; A ordenação pode ser ainda crescente ou decrescente, adicionando os parâmetros ASC ou DESC. OBS: Por padrão as ordenações são crescentes. (ASC);

- Consultas com cláusula ORDER BY SELECT * FROM produtosnotafiscal ORDER BY idnotafiscal DESC;

- Consultas com limite

- Consultas com limite Conforme pudemos notar, até o momento, em todas as consultas que fizemos trouxemos todos os dados. Portanto, se uma tabela tiver 10 registros, trará os 10, da mesma forma que se tiver 10 milhões de registros, trará todos eles.

- Consultas com limite Podemos adicionar a cláusula LIMIT N, para limitar a quantidade de registros que queremos que a consulta traga, onde N é o número de registros a serem trazidos.

- Consultas com limite SELECT * FROM produtosnotafiscal ORDER BY idnotafiscal LIMIT 15; Na consulta acima, estamos limitando os resultados a 15. Portando se a tabela em questão tiver somente 8 registros, trará apenas 8. Se tiver 500, trará somente os 15 primeiros.

- Consultas com limite SELECT * FROM produtosnotafiscal ORDER BY idnotafiscal LIMIT 15; Na consulta acima, estamos limitando os resultados a 15. Portando se a tabela em questão tiver somente 8 registros, trará apenas 8. Se tiver 500, trará somente os 15 primeiros.

- Consultas com limite OBS: Podemos utilizar praticamente todas as cláusulas em conjunto, para filtrarmos os resultados de acordo com a necessidade.

- Consultas com limite SELECT * FROM produtosnotafiscal ORDER BY idnotafiscal DESC LIMIT 15; Na consulta acima, estamos trazendo desta vez, os últimos 15 registros da tabela.

- Consultas com limite SELECT * FROM produtosnotafiscal ORDER BY idnotafiscal DESC LIMIT 15; Na consulta acima, estamos trazendo desta vez, os últimos 15 registros da tabela.

- Consultas com cláusula WHERE

- Consultas com cláusula WHERE A cláusula WHERE filtra registros de colsultas, permitindonos exibir alguns registros enquanto deixamos outros de fora da consulta.

- Consultas com cláusula WHERE SELECT <lista-de-colunas> FROM <lista-de-tabelas> WHERE <condições>;

- Consultas com cláusula WHERE SELECT <lista-de-colunas> FROM <lista-de-tabelas> WHERE <condições>; A cláusula WHERE deve estar sempre após o SELECT e FROM. Quando houver ORDER BY o WHERE deverá ser posto antes dele, conforme: SELECT <lista-de-colunas> FROM <lista-de-tabelas> WHERE <condições> ORDER BY <lista-de-colunas>;

- Consultas com cláusula WHERE SELECT * FROM produtosnotafiscal WHERE id = 666; Na consulta acima, estamos trazendo todos os dados da tabela produtosnotafiscal onde o id seja igual a 666.

- Consultas com cláusula WHERE SELECT * FROM produtosnotafiscal WHERE id = 666; Na consulta acima, estamos trazendo todos os dados da tabela produtosnotafiscal onde o id seja igual a 666.

- Consultas com cláusula WHERE SELECT * FROM produtosnotafiscal WHERE idproduto = 5; Na consulta acima, estamos trazendo todos os dados da tabela produtosnotafiscal onde o idproduto seja igual a 5.

- Consultas com cláusula WHERE SELECT * FROM produtosnotafiscal WHERE idproduto = 5; Na consulta acima, estamos trazendo todos os dados da tabela produtosnotafiscal onde o idproduto seja igual a 5.

- Consultas com cláusula WHERE SELECT * FROM produtos WHERE nome = "Produto 15"; Na consulta acima, estamos trazendo todos os dados da tabela produtos onde o nome seja igual a "Produto 15".

- Consultas com cláusula WHERE SELECT * FROM produtos WHERE nome = "Produto 15"; Na consulta acima, estamos trazendo todos os dados da tabela produtos onde o nome seja igual a "Produto 15".

- Consultas com cláusula WHERE SELECT * FROM produtos WHERE nome = "Produto 15"; Na consulta acima, estamos trazendo todos os dados da tabela produtos onde o nome seja igual a "Produto 15". OBS: Note que só será encontrado caso seja exatamente o que foi colocado entre as aspas.

- Consultas com cláusula WHERE SELECT * FROM produtos WHERE nome = "Produto"; Na consulta acima, estamos trazendo todos os dados da tabela produtos onde o nome seja igual a "Produto". OBS: Como não existe nenhum produto com nome igual a "Produto", a consulta não retorna nada.

- Consultas com cláusula WHERE - LIKE

- Consultas com cláusula WHERE - LIKE Podemos realizar consultas com textos parciais utilizando a cláusula LIKE.

- Consultas com cláusula WHERE - LIKE Na consulta abaixo, selecionamos todas as colunas da tabela produtos onde o nome seja como o padrão "Produto 1%". SELECT * FROM produtos WHERE nome LIKE "Produto 1%";

- Consultas com cláusula WHERE - LIKE Na consulta abaixo, selecionamos todas as colunas da tabela produtos onde o nome seja como o padrão "Produto 1%". SELECT * FROM produtos WHERE nome LIKE "Produto 1%";

- Consultas com cláusula WHERE - LIKE Na consulta abaixo, selecionamos todas as colunas da tabela produtos onde o nome seja como o padrão "Produto 1%". SELECT * FROM produtos WHERE nome LIKE "Produto 1%"; Repare que a consulta trouxe todos os dados onde o nome começava com "Produto 1...", conforme padrão solicitado.

- Consultas com cláusula WHERE - AND

- Consultas com cláusula WHERE - AND Podemos concatenar vários filtros adicionando o parâmetro AND.

- Consultas com cláusula WHERE - AND Na consulta abaixo, selecionamos todas as colunas da tabela produtos onde o id seja maior que 10 e menor que 50. SELECT * FROM produtos WHERE id > 10 AND id < 50;

- Consultas com cláusula WHERE - AND Na consulta abaixo, selecionamos todas as colunas da tabela produtos onde o id seja maior que 10 e menor que 50. SELECT * FROM produtos WHERE id > 10 AND id < 50;

- Consultas com funções de agrupamento

- Consultas com funções de agrupamento A linguagem SQL conta com várias funções para consultas. Essas funções servem para realizar operações e simplificar algumas ações.

- Consultas com funções de agrupamento Na consulta abaixo, estamos contando quantos registros existem na tabela produtos. SELECT COUNT(*) FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos contando quantos registros existem na tabela produtos. SELECT COUNT(*) FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos contando quantos registros existem na tabela produtos onde os nomes dos produtos tenham o padrão "Produto %6%". SELECT COUNT(*) FROM produtos WHERE nome LIKE "Produto %6%;

- Consultas com funções de agrupamento Na consulta abaixo, estamos contando quantos registros existem na tabela produtos onde os nomes dos produtos tenham o padrão "Produto %6%". SELECT COUNT(*) FROM produtos WHERE nome LIKE "Produto %6%;

- Consultas com funções de agrupamento Na consulta abaixo, estamos fazendo uma contagem de q u a n t o s p r o d u t o s f o r a m v e n d i d o s f a z e n d o u m agrupamento por idproduto. SELECT idproduto, COUNT(*) AS Quantidade_Produtos FROM produtosnotafiscal GROUP BY idproduto;

- Consultas com funções de agrupamento Na consulta abaixo, estamos fazendo uma contagem de q u a n t o s p r o d u t o s f o r a m v e n d i d o s f a z e n d o u m agrupamento por idproduto. SELECT idproduto, COUNT(*) AS Quantidade_Produtos FROM produtosnotafiscal GROUP BY idproduto;

- Consultas com funções de agrupamento Na consulta abaixo, estamos buscando o maior preço entre os produtos cadastrados. SELECT MAX(preco) AS Maior_Preço FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos buscando o maior preço entre os produtos cadastrados. SELECT MAX(preco) AS Maior_Preço FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos buscando o menor preço entre os produtos cadastrados. SELECT MIN(preco) AS Menor_Preço FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos buscando o menor preço entre os produtos cadastrados. SELECT MIN(preco) AS Menor_Preço FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos fazendo um somatório de todos os valores dos produtos cadastrados. SELECT SUM(preco) AS Valor_Total FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos fazendo um somatório de todos os valores dos produtos cadastrados. SELECT SUM(preco) AS Valor_Total FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos solicitando a média dos valores dos produtos cadastrados. SELECT AVG(preco) AS Valor_Médio FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos solicitando a média dos valores dos produtos cadastrados. SELECT AVG(preco) AS Valor_Médio FROM produtos;

- Consultas com funções de agrupamento Na consulta abaixo, estamos listando todas as notas fiscais emitidas, separando em colunas diferentes o dia, o mês e o ano de emissão. SELECT id, idcliente, valor, DAY(dataEmissao) AS dia_emussão, MONTH(dataEmissao) AS mês_emissão, YEAR(dataEmissao) AS ano_emissão FROM notasfiscais;

- Consultas com funções de agrupamento Na consulta abaixo, estamos listando todas as notas fiscais emitidas, separando em colunas diferentes o dia, o mês e o ano de emissão. SELECT id, idcliente, valor, DAY(dataEmissao) AS dia_emussão, MONTH(dataEmissao) AS mês_emissão, YEAR(dataEmissao) AS ano_emissão FROM notasfiscais;

- Consultas com mais de uma tabela

- Consultas com mais de uma tabela Todas as consultas realizadas até aqui envolveram sempre uma única tabela. Sabemos porém, que nosso banco de dados possui relacionamento entre tabelas e todo profissional de informática que trabalha com desenvolvimento de sistemas, normalmente, elebora consultas com mais de uma tabela simultaneamente.

- Consultas com mais de uma tabela Conforme podemos ver, na tabela notasfiscais possuímos um relacionamento com a tabela clientes, pelo idcliente presente nesta tabela.

- Consultas com mais de uma tabela Sabemos que na tabela clientes, temos o nome do cliente, além do id e outros dados.

- Consultas com mais de uma tabela Sabemos que na tabela clientes, temos o nome do cliente, além do id e outros dados. Já que na tabela notasfiscais temos o idcliente que se relaciona com a tabela clientes pelo id presente nesta tabela, podemos realizar uma consulta buscando dados em ambas tabelas.

- Consultas com mais de uma tabela Na consulta abaixo, estamos buscando todas as colunas da tabela notasfiscais, apresentando no lugar de idcliente o nome do próprio, buscado na tabela clientes, onde o idcliente da tabela de notasfiscais corresponda ao id da tabela clientes. SELECT nf.id AS ID, c.nome AS Cliente, nf.dataemissao AS Emissão, nf.valor AS Valor FROM notasfiscais AS nf, clientes AS c WHERE nf.idcliente = c.id;

- Consultas com mais de uma tabela Na consulta abaixo, estamos buscando todas as colunas da tabela notasfiscais, apresentando no lugar de idcliente o nome do próprio, buscado na tabela clientes, onde o idcliente da tabela de notasfiscais corresponda ao id da tabela clientes. SELECT nf.id AS ID, c.nome AS Cliente, nf.dataemissao AS Emissão, nf.valor AS Valor FROM notasfiscais AS nf, clientes AS c WHERE nf.idcliente = c.id;

Tudo o que vimos nesta aula pode ser aplicada em conjunto, mixando as cláusulas para chegar no resultado da consulta pretendida. Existem muitos outros recursos, funções e ações para ajudar nas consultas e na documentação[1] oficial pode-se encontrar informações mais afundo. [1]http://dev.mysql.com/doc/refman/5.7/en/

Banco de Dados II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br

Exercício 1) Baseado na última consulta, onde trabalhamos com mais de 1 tabela (notasfiscais e clientes); Faça uma consulta na tabela produtosnotafiscal e faça aparecer o nome do cliente para quem foi emitida a nota fiscal, a quantidade de produtos descritos na nota fiscal, a data de emissão da nota fiscal e o valor da nota fiscal, conforme imagem abaixo.