Projeto de Banco de Dados



Documentos relacionados
Projeto de Banco de Dados

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

Comandos de Manipulação

Tarefa Orientada 13 Agrupamento e sumário de dados

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

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

DML - SELECT Agrupando Dados

SQL DML. Frederico D. Bortoloti

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL Consultas Básicas

António Rocha Nuno Melo e Castro

Á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:

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

Tarefa Orientada 14 Subconsultas

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

Consultas SQL Parte II

Memória de aula Aulas 11 e 12

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

Prof.: Clayton Maciel Costa

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

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

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

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

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

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.

Query SQL (Structured Query Language)

SQL. Prof. Márcio Bueno.

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

Introdução ao SQL Avançado

Linguagem de Banco de Dados DML Exercícios

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

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

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

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

Linguagem de Consulta - SQL

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

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

Structured Query Language (SQL)

Linguagem de Consulta Estruturada SQL- DML

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

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

BANCO DE DADOS Parte 4

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

NOME SEXO CPF NASCIMENTO SALARIO

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Bases de Dados 2005/2006. Aula 5

Tarefa Orientada 10 Obter informação a partir de uma tabela

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

Revisão / Exercícios. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com

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

Definida pelo American National Standard Institute (ANSI) em 1986

BDII SQL Junção Revisão 8

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

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

SQL: Uma Linguagem de Consulta

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

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

Java Persistence Query Language JPQL

Tarefa Orientada 15 Manipulação de dados

SQL Avançado Continuação. Renata Viegas

SQL UMA ABORDAGEM INTERESSANTE

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

ANÁLISE E PROJETO DE BANCO DE DADOS

Rápida revisão do Modelo Relacional

MODELO DE DADOS VS ESQUEMA

1.264 Aula 7. Introdução ao SQL

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

Tarefa Orientada 16 Vistas

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

Consulta sobre múltiplas relações

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

Prof.: Clayton Maciel Costa

PROGRAMA. Objectivos Gerais :

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

Linguagem de Consulta Estruturada (SQL)

CIÊNCIA E TECNOLOGIA DO RIO

Texto Base Livro texto: SQL Guia Prático 2ª Edição Rogério Luís de C. Costa. Banco de Dados II Comando Select. Gustavo Dibbern Piva

Memória de aula Semanas 15 e 16

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

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

Aula 5. Carlos Eduardo de Carvalho Dantas

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

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

Sumário. Introdução O Problema... 3

Principais Instruções em SQL

Projeto e Implementação

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado

Álgebra Relacional e SQL

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira

SQL: Consultas, Programação, Gatilhos

DML. SQL (Select) Verificando estrutura da tabela

EXEMPLOS DE COMANDOS NO SQL SERVER

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina

SQL DML CONSULTAS ENVOLVENDO MAIS DE UMA TABELA

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

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Introdução às Bases de Dados

Ordenação de tuplos order by

Transcrição:

Projeto de Banco de Dados SQL-Consultas Comando SELECT Prof. Luiz Antônio Vivacqua C. Meyer (la.vivacqua@gmail.com)

Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1, nome_tabela2,..., nome_tabelan [WHERE predicado] [GROUP BY coluna1, coluna2,..., colunax] [HAVING predicado] [ORDER BY coluna1[asc/desc], coluna2[asc/desc],..., colunay[asc/desc]];

Peça Fornecimento Fornecedor

Recuperação Simples: Obter a identificação de todas as peças fornecidas. Select id_peca from fornecimento;

Recuperação Simples sem ocorrência de duplicatas. Obter o código dos fornecedores que fornecem peça Select Distinct id_peca From fornecimento; Recuperação simples de toda a tabela. Obter todas as informações dos fornecedores Select * From Fornecedor;

Recuperação qualificada: Obter a identificacao dos fornecedores de SP com status > 20. Select id, nome From fornecedor Where Cidade = sp and status > 20; Obs: A condição ou predicado que segue WHERE pode incluir os operadores comparativos =, >, <, >=, <=, <> e os operadores lógicos AND, OR, NOT. Recuperação com Ordenação: Obter a identificação e o status de fornecedores de SP, na ordem decrescente de status. Select id, Status From fornecedor Where cidade = sp Order by status desc;

CONSULTA COM JUNÇÃO : RECUPERA DADOS DE MAIS DE UMA TABELA. Obter o nome dos fornecedores que fornecem peças. Select distinct nome From Fornecedor, Fornecimento Where Fornecedor.id=id_forn; Junção com condição adicional: Obter o nome do fornecedor que fornece a peça P2. Select distinct nome From Fornecedor, Fornecimento Where Fornecedor.id=id_forn and id_peca= p3 ;

Junção de três tabelas: Obter o nome das peças que são fornecidas por fornecedores do RJ Select Distinct Peca.nome From fornecedor S, peca P, fornecimento SP Where S.id = id_forn and P.id = id_peca and S.cidade= rj ; Inner Join Obter o nome dos fornecedores que fornecem peças. Select distinct nome From Fornecedor INNER JOIN Fornecimento ON fornecedor.id = id_forn;

LEFT JOIN Obter o nome dos fornecedores e a qtde fornecida de peças inclusive dos que não fazem fornecimento Select nome, qtde From Fornecedor LEFT JOIN Fornecimento ON fornecedor.id = id_forn; RIGHT JOIN O inverso do Left join Obter o nome das peças e o nome dos fornecedores na mesma cidade inclusive os fornecedores em outras cidades select P.nome, F.nome from peca P RIGHT JOIN fornecedor F ON P.cidade=F.cidade

Full Join Left Join + Right Join Select P.nome, F.nome, P.cidade, F.cidade from peca P FULL JOIN fornecedor F ON P.cidade=F.cidade

Funções embutidas COUNT retorna o número de linhas na tabela. SUM retorna a soma dos valores na coluna que tem que ser numérica. AVG retorna a média de valores na coluna que tem que ser numérica. MAX retorna o maior valor na coluna. MIN retorna o menor valor na coluna. Obter o número total de fornecedores. Select count(*) From fornecedor;

Obter o número de fornecedores que fornecem peças Select count(distinct id_forn) From fornecimento; Obter o número de fornecimentos para a peça P2. Select count(*) From Fornecimento Where id_peca = p2

Obter a quantidade total de peças P2 fornecidas. Select SUM(Qtde) From fornecimento Where id_peca = p2 ; Uso do Group By A cláusula group by pode ser usada em conjunto com funções de forma de agrupar o resultado segundo uma ou mais colunas.

Obter a quantidade total de cada peça fornecida. Select id_peca, SUM(Qtde) From fornecimento Group by id_peca; Uso do having A cláusula having funciona para os Grupos assim como o Where para linhas.

Obter a identificação da peça e a soma das quantidades fornecidas de todas as peças fornecidas com qtde > 500. Select id_peca, SUM(Qtde) From fornecimento Group by id_peca Having SUM(Qtde) > 500;

Recuperação com Like _ vale para qq caracter % vale para qq sequência de n caracteres onde n pode ser 0. Negação Not Like Obter a identificação e a cor das peças cujos nomes começam com a letra R. Select id, cor From Peca Where nome like r%';

Obter a identificação, peso e cor das peças cujos nomes começam com a letra r, tem b na terceira letra e terminam com e. Select id, peso, cor From Peca Where nome like r_b%e'; Recuperação com NULL Usado para testar a presença ou ausência de valores nulos. Obter a identificação dos fornecedores com status igual a nulo. Select id From fornecedor Where status IS NULL;

Recuperação com Subconsulta Subconsulta é uma expressão SELECT FROM WHERE aninhada dentro de uma cláusula WHERE ou HAVING. É executada uma vez antes da execução da consulta externa Obter os nomes dos fornecedores que fornecem a peça P2. Select distinct nome From fornecedor Where id IN (Select id_forn From fornecimento Where id_peca = p2 );

Subconsulta com vários níveis de aninhamentos. Obter os nomes dos fornecedores que forneçam pelo menos uma peça vermelha. Select distinct nome From fornecedor Where id IN (Select id_forn From fornecimento Where id_peca IN (Select id From Peca where cor = 'verde'));

Subconsulta c/ operador diferente de IN Obter a identificação e o nome dos fornecedores localizados na mesma cidade que o fornecedor S1 Select id, nome From fornecedor Where cidade = (Select cidade From fornecedor Where id = s1 );

Função numa subconsulta Obter o nome e a cidade dos fornecedores cujo status seja inferior ao maior status existente. Select nome, cidade From fornecedor Where status < (Select MAX(status) From fornecedor);

Operadores de conjunto SQL - CONSULTAS Combinam os resultados das consultas que devem ter o mesmo número de colunas com o mesmo tipo de dados. Union É o operador de união da teoria de conjuntos tradicionais. O resultado é a união dos resultados da cada consulta. As duplicidades são sempre eliminadas. Obter a identificação das peças que pesam mais de 15 ou que são fornecidas por S2. Select id From Peca Where peso > 15 UNION Select id_peca From fornecimento Where id_forn = S2 ;

Consulta com Intersect É o operador de interseção de conjuntos. O resultado é a interseção dos resultados da cada consulta. Obter as cidades onde existam fornecedores e peças. Select cidade From fornecedor INTERSECT Select cidade From Peca;

Consulta com EXCEPT É o operador de subtração de conjuntos. O resultado apresenta as linhas da primeira consulta que não estão na segunda consulta. Obter as cidades onde existam fornecedores e que não existam peças. Select cidade From fornecedor EXCEPT Select cidade From Peca;