Subconsulta na Cláusula FROM

Documentos relacionados
Subconsulta na Cláusula FROM

SQL Consultas Básicas

Subconsultas ou Consultas Aninhadas

Subconsultas ou Consultas Aninhadas

SQL (Structured Query Language)

IMPLEMENTAÇÃO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Subconsultas ou Consultas Aninhadas

Álgebra Relacional e SQL

Marcelo Henrique dos Santos

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

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

SQL (Structured Query Language)

Modelo Relacional - Manipulação

SQL Consultas Básicas

Rápida revisão do Modelo Relacional

SQL (Structured Query Language)

SQL (Structured Query Language)

IFSP Campus Presidente Epitácio. BND Banco de Dados. Professora: Márcia Jani. 1.1 Apresentação: Márcia Jani

- SQL Linguagem de Manipulação de Dados

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

SQL (Tópicos) Structured Query Language

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

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

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

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

Linguagem de Consulta - SQL

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

Comandos de Manipulação

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:

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

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

A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de Perryridge

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

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

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

Linguagem SQL - Structured Query Language

SQL-99: Esquema de BD EMPRESA

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

SQL. Prof. Roger Cristhian Gomes

BCD29008 Banco de dados

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

Prova de Tecnologia da Informação

Ordenação de tuplos order by

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU

António Rocha Nuno Melo e Castro

Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9

Banco de Dados. Professora: Luciana Faria

Sintaxe do comando SELECT

DDL 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. Prof. Márcio Bueno.

Memória de aula Semanas 15 e 16

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

Linguagem SQL - Structured Query Language

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011

Linguagem de Consulta Estruturada SQL- DML

Linguagem SQL - Structured Query Language

Definida pelo American National Standard Institute (ANSI) em 1986

Projeto de Banco de Dados

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação

Manipulação de Dados com SQL

Introdução ao PostgreSQL

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

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT

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

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

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

Curso de Banco de Dados. Prof. Rone Ilídio

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

SQL Uma Visão mais Ampla

Linguagem SQL. Comandos Básicos

Apresentação Modelo e SQL. André Luiz Montevecchi

ÁLGEBRA E CÁLCULO RELACIONAL

Prova de Fundamentos de Bancos de Dados 2 a Prova

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

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

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

Visões ... Esquema Externo n. Esquema Externo 1. Esquema Lógico. Usuários finais/aplicações

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

Banco 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. Marcio de Carvalho Victorino Exercícios SQL

Transcrição:

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 select lista_atributos from (consulta_sql) as _tabela_derivada Mapeamento para a álgebra relacional select a from (select x from t where d > 5) as t join t on t.c = t.x π a (t θ Xρ t (π x (σ d > 5 (t )))) θ = t.c = t.x Exemplos Álgebra π Médicos.,...,, hora ( (Médicos θ X θ = Médicos. = C. ρ C (π, hora (σ data = 06// (Consultas))) ) ) π Amb., andar, capac ( ρ Amb (π, andar (Ambulatórios)) θ X θ = Amb. = M_ort. ρ MFlo (π (σ c = Fpolis (Médicos))) ) SQL select Medicos.*, C.hora from Medicos join (select, hora from Consultas where data = '06//') as C on Médicos. = C. select Amb.* from (select, andar from ambulatorios) as Amb join (select from Medicos where c = Fpolis') as MFlo on Amb. = MFlo.

Ordenação de Resultados Cláusula ORDER BY select lista_atributos from lista_tabelas [where condição] [order by _atributo [desc] {[, _atributo n [desc]]} ] Exemplos select * from Pacientes order by select salário, from Funcionários order by salário desc, Ordenação de Resultados É possível determinar a quant de valores ordenados a retornar select... limit valor [,valor] Exemplos select * from Pacientes order by limit 5 retorna as 5 primeiras tuplas retorna tuplas 6 a 5 select salário, from Funcionários order by salário desc, limit 5,0

Definição de Grupos Cláusula GROUP BY select lista_atributos from lista_tabelas [where condição] [group by lista_atributos_agrupamento [having condição_para_agrupamento] ] GROUP BY define grupos para combinações de valores dos atributos definidos em lista_atributos_agrupamento um grupo mantém os atributos da tabela que não estão em lista_atributos_agrupamento apenas atributos definidos em lista_atributos_agrupamento podem aparecer no resultado da consulta geralmente o resultado da consulta possui uma função de agregação Definição de Grupos Exemplo select especial, count(*) group by especial especial ortopedia pediatira neurologia traumatologia Count especial grupos ortopedia c João 40 00000000 Fpolis 4 Carlos 8 000000 Joinville pediatria c Pedro 5 0000000 Fpolis neurologia c 5 Márcia 00000 Biguaçu traumatologia c Maria 4 0000000 Blumenau 6 Joana 7 0000 Fpolis 7 Mauro 5 0000 Blumenau

Definição de Grupos Cláusula HAVING define condições para que grupos sejam formados condições só podem ser definidas sobre atributos do agrupamento ou serem funções de agregação existe somente associada à cláusula GROUP BY Exemplos select especial, count(*) group by especial having count(*) > Atualização com Consulta Comandos de atualização podem incluir comandos de consulta necessário toda vez que a atualização deve testar relacionamentos entre tabelas Exemplo delete from Consultas where hora > 7:00:00 and in (select where = Maria ) 4

Atualização com Consulta Exemplo update Médicos set = NULL where not exists (select * m where m. <> Médicos. and m. = Médicos.) Exemplo update Ambulatórios set capac = capac + (select capac from Ambulatórios where = 4) where = Atualização com Consulta Exemplo 4 (supondo MedNovos(código,, especial)) insert into MedNovos select,, especial where < ; Exemplo 5 insert into Pacientes select p.codp+, f., f., 'Fpolis', f.cpf, 'gripe' from Pacientes p join Funcionários f on f.codf = and p.codp = (select max(codp) from Pacientes) 5

Exercícios Buscar o que se pede utilizando subconsultas na cláusula FROM: ) todos os dados das consultas marcadas para a médica Maria ) e c dos pacientes que têm consultas marcadas com ortopedistas ) e CPF dos pacientes de Florianópolis que não têm consultas com o médico João Buscar o que se pede utilizando ORDER BY e GROUP BY: ) os dados de todos os funcionários ordenados pelo salário (decrescente) e pela (crescente). Buscar apenas os três primeiros funcionários nesta ordem ) o dos médicos e o número e andar do ambulatório onde eles atendem, ordenado pelo número do ambulatório ) o do médico e o dos pacientes com consulta marcada, ordenado pela data e pela hora. Buscar apenas as tuplas a 5, nesta ordem 4) s dos médicos e o total de médicos com a mesma 5) datas e o total de consultas em cada data, para horários após às hs. 6) andares onde existem ambulatórios e a média de capac por andar 7) andares onde existem ambulatórios cuja média de capac no andar seja >= 40 8) dos médicos que possuem mais de uma consulta marcada Realizar as seguintes atualizações: ) passar para às 9hs todas as consultas marcadas para a paciente Ana ) excluir os pacientes que não possuem consultas marcadas ) passar para //006 todas as consultas do médico Pedro marcadas antes do meio-dia 4) o médico Pedro passa a residir na mesma c do paciente Paulo e sua passa a ser o dobro da da paciente Ana 5) o funcionário Caio (codf = ) tornou-se médico. Sua especial é a mesma da médica Maria ( = ) e ele vai atender no mesmo ambulatório dela. Inserir Caio na tabela Médicos 6