Memória de aula Aulas 11 e 12



Documentos relacionados
Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Projeto de Banco de Dados

Tarefa Orientada 14 Subconsultas

Memória de aula Semanas 15 e 16

Comandos de Manipulação

Tarefa Orientada 13 Agrupamento e sumário de dados

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 )

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

António Rocha Nuno Melo e Castro

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL DML. Frederico D. Bortoloti

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (

Prof.: Clayton Maciel Costa

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

18/03/2012. Formação.

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

SQL. Prof. Márcio Bueno.

PROGRAMA. Objectivos Gerais :

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

SQL Avançado Continuação. Renata Viegas

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Pedro F. Carvalho OCP Oracle g LINGUAGEM SQL. São José do Rio Preto

Tarefa Orientada 16 Vistas

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

Fundamentos de Bancos de Dados Prova 2

4.6. SQL - Structured Query Language

Sumário Introdução Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL A Composição deste Livro 3

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

BDII SQL Junção Revisão 8

SQL Comandos para Relatórios e Formulários. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL UMA ABORDAGEM INTERESSANTE

Definida pelo American National Standard Institute (ANSI) em 1986

Exercícios de Lógica Exercícios de Fixação 08

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis

Prova de Fundamentos de Bancos de Dados 2 a Prova

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

Consultas SQL Parte II

ANÁLISE E PROJETO DE BANCO DE DADOS

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

CIÊNCIA E TECNOLOGIA DO RIO

Programação SQL. INTRODUÇÃO II parte

MODELO DE DADOS VS ESQUEMA

NOME SEXO CPF NASCIMENTO SALARIO

Subconsultas ou Consultas Aninhadas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

DML - SELECT Agrupando Dados

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

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

Linguagem SQL. Comandos Básicos

Bases de Dados 2005/2006. Aula 5

Álgebra Relacional e SQL

1.264 Aula 7. Introdução ao SQL

Projeto e Implementação

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

EXEMPLOS DE COMANDOS NO SQL SERVER

Exercícios. Exercícios

Introdução às Bases de Dados

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

Múltiplas Tabelas. Disciplina de Banco de Dados

Rápida revisão do Modelo Relacional

Structured Query Language (SQL)

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Linguagem de Consulta Estruturada (SQL)

Prova de Fundamentos de Bancos de Dados 2 a Prova

SQL DML CONSULTAS ENVOLVENDO MAIS DE UMA TABELA

Exercícios com o intuito de cobrar todos os assuntos vistos em sala, relativos à Modelagem Conceitual, SQL, PL e XML. 1ª ETAPA

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

Disciplina : Gerência de Banco de Dados Semestre Professora : Sandra de Amo. Lista de Exercícios 4 - Consultas SQL

SQL. Introdução. Por que SQL? Setenças Select-From-Where

Linguagem de Banco de Dados DML Exercícios

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

SQL Consultas Básicas

Prof.: Clayton Maciel Costa

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006

Prova de Fundamentos de Bancos de Dados 2 a Prova

Introdução ao SQL Avançado

SQL (Linguagem de Consulta Estruturada)

SQL: Uma Linguagem de Consulta

SQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento)

Prof. Ronaldo R. Goldschmidt. geocities.yahoo.com.br/ronaldo_goldschmidt

- SQL Linguagem de Manipulação de Dados

Query SQL (Structured Query Language)

Transcrição:

Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aulas 11 e 12 1) Revisão a. Cláusula join (inner e outer) 2) Cláusula GROUP BY a. Usada para agrupar dados por valores de colunas b. Ao usar group by será necessário usar cláusulas/funções de filtro de dados, como a função COUNT. i. Função MIN(x): retorna o menor valor de um atributo x. ii. Função MAX(x): retorna o maior valor de um atributo x. iii. Função SUM(x): retorna a soma dos valores do atributo x. iv. Função AVG(x): retorna a média dos valores do atributo x. v. Função COUNT(*): conta o total de linhas que preenchem a qualificação de consulta. vi. Exemplo: select faixaef as Faixa, count(*) as Qtd from eficiencia_energ group by faixaef Faixa Qtd A 5 B 14 Página 1 de 7

C 2 D 18 E 4 c. Também pode ser utilizada a cláusula HAVING i. Permite filtrar dados agrupados da mesma forma que a cláusula WHERE permite filtrar dados brutos ii. Exemplo: select faixaef as Faixa, count(*) as Qtd from eficiencia_energ group by faixaef having count(*) > 4 Faixa Qtd A 5 B 14 D 18 3) Subconsultas (subqueries): são consultas aninhadas (dentro de outras consultas). SELECT colunas FROM tabela WHERE expressão operador (SELECT colunas FROM tabela WHERE...) a. O operador pode ser de comparação (linha- >,<,<=,>=,<>,!=,=) ou de grupo (in, any, all). Os operadores de linha só Página 2 de 7

funcionam se a subconsulta retornar apenas um valor (uma linha e uma coluna). Select nome,preco Where preco > (select avg(preco) from cd) b. Para realizar subconsultas: i. Escreva-as entre parênteses ii. Escreva-as à direita do operador iii. Não coloque a cláusula ORDER BY em uma subquery iv. Utilize operadores de linha apenas em buscas que retornem uma única linha. v. Utilize operadores de grupo apenas em buscas que potencialmente retornem mais de uma linha. c. Uma subconsulta também pode ser usada na cláusula HAVING. Select cd_gravadora,min(preco) Group by cd_gravadora Having min(preco) > (select preco from cd where codigo=6) d. IN: verifica a pertinência em um conjunto Select codigo, nome, preco Where preco in (select min(preco) from cd group by cd_gravadora) e. ANY: permite comparar operadores de comparação de linha com um grupo de linhas. Retorna verdadeiro se a comparação com QUALQUER um dos valores da subconsulta for verdadeira) Select codigo,nome,preco Página 3 de 7

Where preco < ANY (select preco from cd where cd_gravadora = 2) f. ALL: permite comparar operadores de comparação de linha com um grupo de linhas. Retorna verdadeiro se a comparação com TODOS os valores da subconsulta for verdadeira) Select codigo,nome,preco Where preco < ALL (select preco from cd where cd_gravadora = 2) 4) Trabalhando com conjuntos União, intersecção e diferença a. União de duas consultas (lembre-se das regras da álgebra relacional, continuam valendo) i. Expressa pela cláusula UNION e UNION ALL select 1 num, 'abc' string union select 2 num, 'xyz' stri num string 1 abc 2 xyz ii. A diferença entre UNION e UNION ALL é que a primeira remove as duplicatas, a segunda não. iii. O número de linhas do conjunto resultado de um UNION ALL é a soma do número de linhas dos conjuntos que estão sendo combinados. b. Para intersecção e diferença há no padrão ANSII a cláusula INTERSECT, mas só funcionará a partir do SQL Server 2008. Página 4 de 7

Todavia, a intersecção, assim como a diferença (EXCEPT DISTINCT), podem ser realizadas por meio das cláusulas EXISTS ou NOT EXISTS. i. Exemplo de intersecção SELECT DISTINCT cidade FROM autor WHERE EXISTS (SELECT * FROM editora WHERE autor.cidade = editora.cidade) ii. Exemplos de diferença SELECT DISTINCT cidade FROM autor WHERE NOT EXISTS(SELECT * FROM editora WHERE autor.cidade = editora.cidade) 5) View (Visão) a. Consulta armazenada no banco de dados, parece com uma tabela. Pode ser utilizada para fazer consultas como se fosse uma tabela. Ex.: Create view v_empregados as Select e.cod_emp, e.nome, e.sobrenome, YEAR(e.dt_contr) dt_contr From empregados as e Bibliografia ELMASRI, R., NAVATHE, S.B. Sistemas de Banco de Dados. 4ª Ed. São Paulo: Pearson Makron Books, 2005. Página 5 de 7

EXERCÍCIO Baseando-se no Modelo de Dados implementado em laboratório, efetue as consultas abaixo. 1) Antes de fazer os demais quesitos, inclua mais dez linhas na sua tabela de imóveis, varie o bairro, a cidade e o vendedor, além dos demais campos. 2) Verifique a maior, a menor e o valor médio das ofertas da tabela. 3) Verifique a média do preço de venda dos imóveis localizados no bairro Flamengo, na cidade do Rio de Janeiro. 4) Refaça o exercício anterior mostrando o resultado em formato decimal com apenas duas casas decimais. 5) Mostre o maior, o menor, o total e a média de preço de venda dos imóveis. 6) Modifique o comando anterior para que sejam mostrados os mesmos índices por bairro. 7) Faça uma busca que retorne o total de imóveis por vendedor. Apresente em ordem total de imóveis. 8) Mostre o código do vendedor e o menor preço de imóvel dele no cadastro. Exclua da busca os valores de imóveis inferiores a 10mil. 9) Faça o mesmo que no quesito anterior, mas ao invés de mostrar o código do vendedor, mostre o seu nome. 10) Faça uma busca que retorne o total de imóveis à venda por bairro (mostre o nome do bairro). Exclua da busca bairros cujos total de imóveis à venda seja igual a 1. 11) Mostre o código do comprador e a média do valor das ofertas e o número de ofertas deste computador. 12) Faça uma busca que retorne o total de ofertas realizadas pelo comprador 1. 13) Faça uma lista de imóveis do mesmo bairro do imóvel 2. Exclua o imóvel 2 da sua busca. 14) Faça uma lista que mostre todos os imóveis que custam mais que a média de preço dos imóveis. 15) Faça uma lista com todos os compradores que tenham ofertas cadastradas com valor superior a 70 mil. 16) Faça uma lista com todos os imóveis com oferta superior à média do valor das ofertas. 17) Faça uma lista com todos os imóveis com preço superior à média de preço dos imóveis do mesmo bairro. 18) Faça uma lista dos imóveis com maior preço agrupado por bairro, cujo maior preço seja superior à média de preços dos imóveis. 19) Faça uma lista com as ofertas menores que todas as ofertas do comprador 2, exceto as ofertas do próprio comprador. 20) Faça uma lista com todos os códigos e nomes de compradores e códigos e nomes de vendedores. 21) Faça uma lista com todos os códigos e nomes de compradores e códigos e nomes de vendedores, e admita que não há repetição das linhas. 22) Faça uma lista com todos os compradores que não tenham ofertas cadastradas. 23) Faça uma lista de todos os vendedores que não tenham imóveis cadastrados. 24) Faça uma lista de todos os vendedores que tenham imóveis cadastrados. Página 6 de 7

25) Faça uma lista com todos os compradores que tenham ofertas cadastradas. Baseado em: OLIVEIRA, C. H. P. SQL curso prático. Novatec, 2002. Página 7 de 7