SQL – DML Consultas envolvendo mais de uma tabela

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Álgebra Relacional Marcelo Mendes Manaus
SQL Avançado Continuação
SQL Structured Query Language (continuação)
SQL Structured Query Language (continuação)
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
Prof. Bruno Rafael de Oliveira Rodrigues
Funções do SqlServer 2000 e Tipos de Junção
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados I 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone: 9531 – 7555.
Algebra relacional nomeada e não-nomeada
Exemplo Hospitalar Exemplo: BD para uma realidade hospitalar
Subconsultas ou Consultas Aninhadas
SQL – Consultas Básicas
SQL – DML Consultas envolvendo relacionamentos entre tabelas
SQL – DML Consulta a dados de uma tabela
Ordenação de Resultados
SCC Bancos de Dados e Suas Aplicações
Elaboração de Consulta Continuação 7/abril/2006. Modelo.
Operação de União “JOIN”
Eduardo Costa Gabriel Cypriano Rodrigo Calhau
Equipe de monitoria Aula prática 2. Apresentação do caso de estudo Conceitual Lógico Algumas informações iniciais Consultas e exercícios Surpresa... =)
Comandos de SQL Excel VBA II.
Monitoria GDI Aula Prática
SQL (Structured Query Language)
Cronograma Formato do Comando SELECT – 1ª Seção Uso de Funções (DATE_FORMAT, DAY, MONTH, NOW, CONCAT, FORMAT, COUNT, AVG, MAX, MIN e FORMAT) AS DISTINCT.
Banco de Dados Aplicado ao Desenvolvimento de Software
Otimização de Consultas em SQL Planos de Execução
Especialização em Tecnologia da Informação
Cardinalidade Expressa o numero de entidades as quais outra entidade pode estar associada via um conjunto de relacionamentos.
Sistemas de Informação Prof. Carlos Alberto Seixas Banco de Dados II /01 UNIESP
Monitoria GDI Aula Prática
Exercícios Transformação modelo ER
Desenvolvendo um script SQL
Treinamento sobre SQL.
QBE e QUEL Ana Carolina Salgado Fernando Fonseca Valéria Times.
Álgebra Relacional (Exemplos)
Comandos SQL.
REVISÃO Comandos SQL - DML SELECT * FROM ?.
António Martins Set 2008 Gestão de Sistemas e Tecnologias de Informação.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
Treinamento SQL Server
Exercícios Para começar a fazer os exercícios a seguir, restaure um banco de dados que já contenha dados: Informe os comandos das resposta com o mesmo.
SQL Server Comando PIVOT.
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
Banco de Dados I I Comandos SQL
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
Visões Visão tabela derivada a partir das tabelas do BD tabela virtual
Sumário 1 SQL Embutida 2 Processamento de Consultas
SQL (Structured Query Language)
Banco de Dados I Unidade 6 Processamento de Consultas Otimização Lógica.
Subconsulta na Cláusula FROM
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização –filtragens prévias.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
INE 5336 Banco de Dados II Ronaldo S. Mello 2007/2 Horário Atendimento: Quintas-feiras, das 17h30 às 19h UFSC-CTC-INE.
Uma Proposta para Bancos de Dados Categoriais Rafael C. Pinto.
Associações = JOIN SERVE PARA CONVERTER DADOS ENCONTRADOS EM DUAS OU MAIS TABELAS. CLÁUSULA JOIN PERMITE QUE OS DADOS DE VÁRIAS TABELAS SEJAM COMBINADOS.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
UCSal – Bacharelado em Informática
Banco de Dados Introdução à Linguagem SQL – Junção Manipulação com 3 Tabelas ou + em relacionamentos n/1 Esta aula é baseada em material produzido pelo.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
Álgebra Relacional Vania Bogorny.
Álgebra Relacional Vania Bogorny.
BANCO DE DADOS Araújo Lima Set / 2018 Araújo.
Transcrição da apresentação:

SQL – DML Consultas envolvendo mais de uma tabela select lista_atributos from tabela1, ..., tabelam [where condição] Mapeamento para a álgebra relacional select a1, ..., an from tab1, ..., tabm where c  a1, ..., an ( c (tab1 X ... X tabm))

(Pacientes X Consultas) Exemplos Álgebra SQL (Pacientes X Consultas) Select * From Pacientes, Consultas  CPF, nome, data ( hora > 12:00 (Pacientes X Consultas)  Pacientes.codp = Consultas.codp ) Select CPF, nome, data From Pacientes,Consultas Where hora > ‘12:00’ and Pacientes.codp = Consultas.codp  m2.nome ( m1.nome = ‘Joao’  m1.especialidade = m2.especialidade ( ( m1 (Médicos)) X ( m2 (Médicos)) )) Select m2.nome From Médicos m1, Médicos m2 Where m1.nome = ‘João’ and m1.especialidade = m2.especialidade

Junção Sintaxe Mapeamento para a álgebra relacional select lista_atributos from tabela1 [inner] join tabela2 on condição_junção [join tabela3 on ...] [where condição] Mapeamento para a álgebra relacional select a1, ..., an from tab1 join tab2 on tab1.x > tab2.x where c a1, ..., an ( c (tab1  X tab2))  = tab1.x > tab2.x

Exemplos Álgebra SQL  = Médicos.codm = Consultas.codm (Pacientes  X Consultas)  = Pacientes.codp = Consultas.codp Select * From Pacientes join Consultas on Pacientes.codp = Consultas.codp nome ( data = ’2006/11/13’ (Médicos  X Consultas) )  = Médicos.codm = Consultas.codm Select nome From Médicos join Consultas on Médicos.codm = Consultas.codm Where data = ‘2006/11/13’

Junção Natural Sintaxe Mapeamento para a álgebra relacional select lista_atributos from tabela1 natural join tabela2 [natural join tabela3 ...] [where condição] Mapeamento para a álgebra relacional select a1, ..., an from tab1 natural join tab2 where c a1, ..., an (c (tab1 tab2))

(Pacientes Consultas) Exemplos Álgebra SQL (Pacientes Consultas) Select * From Pacientes natural join Consultas nome ( data = ’2006/11/13’ (Médicos Consultas) ) Select nome From Médicos natural join Consultas Where data = ‘2006/11/13’

Junções Externas (Não Naturais) Sintaxe select lista_atributos from tabela1 left|right|full [outer] join tabela2 on condição_junção [join tabela3 on ...] [where condição] Mapeamento para a álgebra relacional select a1, ..., an from t1 left join t2 on t1.x > t2.x where c a1, ..., an ( c (t1  X t2))  = t1.x > t2.x

Exemplos Álgebra SQL  = Médicos.codm = Consultas.codm (Pacientes  X Consultas)  = Pacientes.codp = Consultas.codp Select * From Pacientes left join Consultas on Pacientes.codp = Consultas.codp nome ( data = ’05/13/03’ (Consultas  X Médicos))  = Médicos.codm = Consultas.codm Select nome From Médicos right join Consultas on Médicos.codm = Consultas.codm Where data = ‘05/13/03’ Observação: MySQL não implementa full join

Exercícios Defina cada uma das seguintes buscas através de um produto, de uma junção (e de uma junção natural, quando possível). Quando necessário, utilizar junção externa: 1) nome e CPF dos médicos que também são pacientes do hospital 2) pares (código, nome) de funcionários e de médicos que residem na mesma cidade 3) código e nome dos pacientes com consulta marcada para horários após às 14 horas 4) número e andar dos ambulatórios utilizados por médicos ortopedistas 5) nome e CPF dos pacientes que têm consultas marcadas entre os dias 14 e 16 de junho de 2006 6) nome e idade dos médicos que têm consulta com a paciente Ana 7) código e nome dos médicos que atendem no mesmo ambulatório do médico Pedro e que possuem consultas marcadas para dia 14/06/2006 8) nome, CPF e idade dos pacientes que têm consultas marcadas com ortopedistas para dias anteriores ao dia 16 9) nome e salário dos funcionários que moram na mesma cidade do funcionário Carlos e possuem salário superior ao dele 10) dados de todos os ambulatórios e, para aqueles ambulatórios onde médicos dão atendimento, exibir também os seus códigos e nomes 11) CPF e nome de todos os médicos e, para aqueles médicos com consultas marcadas, exibir os CPFs e nomes dos seus pacientes e as datas das consultas