BDII SQL Junção Revisão 8
|
|
- Irene Aquino Lopes
- 8 Há anos
- Visualizações:
Transcrição
1 exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6
2 SQL Introdução Produto cartesiano Nomes alternativos (apelidos) Tipos de junção 08/08/2014 2
3 SQL Introdução Produto cartesiano Nomes alternativos (apelidos) Tipos de junção 08/08/2014 3
4 Introdução Vimos na álgebra relacional que quando necessitávamos combinar tuplas de várias relações para produzir um determinado resultado usávamos a operação produto cartesiano Essa operação nos permite combinar informações a partir de diversas relações e é representada pela (cruz) 08/08/2014 4
5 SQL Introdução Produto cartesiano Nomes alternativos (apelidos) Tipos de junção 08/08/2014 5
6 Produto cartesiano Em SQL o produto cartesiano é realizado quando colocamos na cláusula FROM mais de uma tabela separada por vírgula O resultado desse tipo de comando é a combinação de todas as linhas de uma tabela com todas as linhas da(s) outra(s) tabela(s) envolvidas 08/08/2014 6
7 Produto cartesiano Podemos realizar o produto cartesiano com qualquer quantidade de tabelas Devemos lembrar sempre que precisamos igualar o atributo em comum em cada tabela participante para poder remover o lixo gerado 08/08/2014 7
8 Exemplo SELECT * FROM cliente, agencia SELECT cpf, nome FROM cliente, agencia 08/08/2014 8
9 Exemplo SELECT cpf, nome FROM cliente, agencia Cada cpf aparece combinado com todas as agências Como cliente possui 996 linhas Agencia possui 10 linhas Resultado 996 * 10 = /08/2014 9
10 Produto cartesiano O resultado de todo produto cartesiano sem predicado de junção gera muitas linhas que podem ser consideradas como lixo para a nossa pesquisa No exemplo anterior, o produto cartesiano está inutilizado pois não temos atributos em comum entre as tabelas para remover o lixo gerado 08/08/
11 Produto cartesiano Uma consulta mais útil seria saber o número da conta de cada cliente Poderíamos pensar na seguinte consulta: SELECT numero, cpf, pnome FROM cliente, pessoaconta WHERE cpf = cpf 08/08/
12 Produto cartesiano Vimos que a consulta não funcionou pois o SGBD não conseguiu resolver a ambiguidade do atributo cpf que está presente em ambas as tabelas Para resolver essa ambiguidade, devemos informar, para os atributos em comum, de qual tabela eles pertencem 08/08/
13 Produto cartesiano Para isso colocamos o nome da tabela antes do nome do atributo separado por um ponto SELECT numero, cliente.cpf, pnome FROM cliente, pessoaconta WHERE cliente.cpf = pessoaconta.cpf 08/08/
14 Exercícios de fixação Informe todas as contas e os respectivos titulares dos clientes entre 20 e 30 anos Informe quais contas pertencem à agência International Informe os números das transações realizadas pela conta de número 500 Informe quais os cpf dos clientes do gerente Carlos 08/08/
15 SQL Introdução Produto cartesiano Nomes alternativos (apelidos) Tipos de junção 08/08/
16 Nomes alternativos O SQL permite darmos apelidos (aliases) em duas situações Para tabelas Normalmente usada quando fizermos junções Para colunas Normalmente para dar nomes às nossas operações 16
17 Nomes alternativos para tabelas Em SQL podemos ter atributos com o mesmo nome desde que estejam em relações diferentes Quando precisamos juntar essas relações ocorre o problema de ambiguidade dos atributos Devemos qualificar o atributo prefixando o nome da tabela separado por um ponto 08/08/
18 Nomes alternativos para tabelas Quando o nome da relação é muito grande, temos a inconveniência de ter que repeti-la para remover ambiguidades Neste caso podemos dar um apelido para a relação através da palavra-chave (AS) 08/08/
19 Nomes alternativos para tabelas Exemplo: SELECT numero, cl.cpf, pnome FROM cliente AS cl, pessoaconta AS pc WHERE cl.cpf = pc.cpf 08/08/
20 Nomes alternativos para tabelas Outro uso muito comum é quando precisamos fazer o produto cartesiano de uma relação com ela mesma Verifique se existem homônimos no sistema Obs.: Pessoas homônimas possuem o mesmo nome (completo) 08/08/
21 Exemplo SELECT c1.cpf, c1.pnome FROM cliente AS c1, cliente AS c2 WHERE c1.pnome = c2.pnome AND c1.mnome = c2.mnome AND c1.unome = c2.unome 08/08/
22 Nomes alternativos para tabelas No primeiro caso não há na resposta, pois a consulta retornou 996 linhas que representam os 996 clientes existentes Se necessitássemos verificar se há homônimos considerando somente o primeiro e segundo nomes 08/08/
23 Exemplo SELECT c1.cpf, c1.pnome FROM cliente AS c1, cliente AS c2 WHERE c1.pnome = c2.pnome AND c1.mnome = c2.mnome 08/08/
24 Nomes alternativos para tabelas Considerando somente o primeiro e segundo nome, a consulta retornou 1046 linhas, ou seja, 50 linhas a mais que a primeira Queremos apresentar somente as 50 linhas cujos clientes são homônimos, para isso devemos considerar o cpf na comparação 08/08/
25 Exemplo SELECT c1.cpf, c1.pnome FROM cliente AS c1, cliente AS c2 WHERE c1.pnome = c2.pnome AND c1.mnome = c2.mnome AND c1.cpf <> c2.cpf 08/08/
26 Nomes alterativos para tabelas Os SGBD mais atuais permitem também omitirmos a palavra-chave (AS) Exiba o(s) nome(s) do(s) cliente(s) do gerente Carlos Joseph Elliott Na tabela gerente x clientegerente posso encontrar o cpf dos cliente de um gerente Na tabela gerente x clientegerente x cliente posso encontrar o nome dos clientes de um gerente 26
27 Exemplo SELECT pnome, cg.cpf FROM gerente gr, clientegerente cg WHERE gr.registro = cg.registro AND pnome = Carlos ; 27
28 Exemplo SELECT cl.pnome, gr.pnome FROM gerente gr, clientegerente cg, cliente cl WHERE gr.registro = cg.registro AND cl.cpf = cg.cpf AND gr.pnome = Carlos ; 28
29 Exercício de fixação Exiba uma lista com o número da conta e o nomes dos titulares ordenada pela conta Exiba uma lista com o número da conta, número da transação, valor da transação para as contas 311 e 546 Exiba o(s) nome(s) do(s) cliente(s) dos gerentes que moram em Maria da Fé 29
30 Exercício de fixação Exiba as contas corrente (tipo 1) da agência número 10 Existem transações realizadas pelo cliente Richard Aaron West? Procure um cliente que tenha realizado pelo menos uma transação 30
31 SQL Introdução Produto cartesiano Nomes alternativos (apelidos) Tipos de junção 08/08/
32 Junção A operação junção natural é uma operação binária que permite combinar certas seleções e um produto cartesiano em uma operação, é representada pelo símbolo O resultado é uma única tabela com o resultado das cláusulas definidas na junção 32
33 CROSS JOIN Se nenhuma condição é informada na cláusula WHERE, o produto cartesiano entre as tabelas será o resultado Se o(s) atributo(s) em comum forem igualados teremos como resultado o mesmo que o INNER JOIN Funciona da mesma forma como fizemos anteriormente ao separarmos as tabelas por vírgulas 33
34 Exemplo SELECT numero, c.cpf, pnome FROM cliente c CROSS JOIN pessoaconta p WHERE c.cpf = p.cpf AND c.cpf =
35 CROSS JOIN A diferença básica entre o CROSS JOIN e INNER JOIN é que no caso do INNER JOIN a cláusula de junção pode ser indicada através da palavra chave ON Obs.: é uma boa prática de desenvolvimento colocar todo o predicado de junção na cláusula ON deixando a cláusula WHERE somente para filtrar a seleção desejada 35
36 MySQL O MySQL permite o uso da clausula ON no CROSS JOIN SELECT numero, c.cpf, pnome FROM cliente c CROSS JOIN pessoaconta p ON c.cpf = p.cpf WHERE c.cpf =
37 Exercícios Exiba os dados do cliente dono da conta 866 e 2 Exiba a soma dos salários dos cliente que possuem conta corrente Exiba a soma de todas as transações realizadas pela agencia Bluejay 37
38 INNER JOIN O tipo default de junção é a junção interna (INNER JOIN) Combina (junta) a informação de duas ou mais tabelas aplicando um critério de comparação entre os valores de uma ou mais colunas 38
39 INNER JOIN Uma tupla é inserida na resposta somente se existir uma combinação nos valores em ambas as tabelas para o atributo envolvido No geral é o mesmo que JOIN Se usado o caractere * na projeção, todas as colunas (atributos) serão apresentados no resultado 39
40 INNER JOIN SELECT * FROM cliente c INNER JOIN pessoaconta p ON c.cpf = p.cpf WHERE c.pnome LIKE Andre% Obs.: a coluna cpf aparece duplicada no resultado, isto ocorre porque ela existe em ambas as tabelas 40
41 INNER JOIN SELECT c.cpf, CONCAT(pnome, ' ', mnome, ' ', unome), numero, dataabertura FROM cliente c INNER JOIN pessoaconta p ON c.cpf = p.cpf WHERE c.pnome LIKE 'Andre% ; 41
42 MySQL O MySQL permite o uso da palavra USING para indicar qual atributo será usado como predicado de junção Claro, que o atributo em comum nas tabelas devem ter o mesmo nome Obs.: usando a palavra USING o atributo em comum não aparece duplicado na consulta 42
43 INNER JOIN SELECT * FROM cliente c INNER JOIN pessoaconta p USING(cpf) WHERE c.pnome LIKE André%'; 43
44 Exercícios de fixação Exiba as transações dos cliente com cpf entre e Exiba a soma de todas as transações obtidas na consulta anterior Exiba todos os clientes da agência Fairview Exiba a soma de todas as transações da agencia Jackson 44
45 NATURAL JOIN Realiza uma junção natural, que é caracterizada pela criação de uma equijoin, condição equijunção (igualdade) implícita nos atributos em comum Como na junção usando a palavra USING, a NATURAL JOIN exibe o atributo em comum no inicio da projeção e remove a coluna duplicada 45
46 Otimização de consultas A cláusula ON não é otimizada para trabalhar com operadores lógicos AND, OR ou NOT Por isso, prefira construir uma cláusula ON para cada junção ao invés de uma única cláusula usando AND 46
47 Exemplo SELECT c.pnome, c.cpf, g.pnome FROM cliente c INNER JOIN pessoaconta pc INNER JOIN clientegerente cg INNER JOIN gerente g ON c.cpf = pc.cpf AND cg.cpf = c.cpf AND g.registro = cg.registro; 47
48 Exemplo SELECT c.pnome, c.cpf, g.pnome FROM cliente c INNER JOIN pessoaconta pc ON c.cpf = pc.cpf INNER JOIN clientegerente cg ON cg.cpf = c.cpf INNER JOIN gerente g ON g.registro = cg.registro; 48
49 NATURAL JOIN SELECT * FROM cliente c NATURAL JOIN clientegerente cg WHERE c.pnome LIKE 'Carlos%'; 49
50 NATURAL JOIN SELECT * FROM gerente g NATURAL JOIN clientegerente cg WHERE g.pnome LIKE 'Carlos%'; Explique o resultado obtido; 50
51 Exercício de fixação Mostre o número e o tipo da conta dos clientes que têm o primeiro nome igual a Carlos Selecione os gerentes responsáveis pelas contas do exemplo anterior Selecione todas as contas da agência número 5 Selecione as transações da agência do exemplo anterior 51
52 LEFT OUTER JOIN Quando realizamos junções internas (INNER JOIN) para que uma tupla seja inserida na resposta o valor do atributo no predicado de junção deve corresponder nas duas tabelas Quando precisamos que todas as tuplas sejam incluídas no resultado precisamos explicitar uma junção externa (OUTER JOIN) 52
53 LEFT OUTER JOIN Combina todas as tuplas da tabela à esquerda da junção com as tuplas cujos valores combinam na tabela a direita Suponha que precisamos criar um relatório como nome de todos os clientes que possuem o padrão André% no seu primeiro nome e suas respectivas contas, se possuírem 53
54 LEFT OUTER JOIN Execute a seguinte inserção: INSERT INTO cliente VALUES ( , 'MG ', 'André', 'Luís', 'Duarte', ' ', 'andre@bol.com.br', , 'Rua A', 'Maria da Fé', 'MG', , 'M', ); 54
55 LEFT OUTER JOIN Para ter os dados dos clientes e sua conta precisamos realizar uma junção entre as tabelas cliente e pessoaconta SELECT cpf, pnome, numero FROM cliente c INNER JOIN pessoaconta p USING(cpf) WHERE c.pnome LIKE 'Andre%'; 55
56 LEFT OUTER JOIN Para que todos os clientes apareçam no resultado, independente de ter uma ocorrência do cpf em pessoaconta devemos ter uma junção externa SELECT cpf, pnome, numero FROM cliente c LEFT OUTER JOIN pessoaconta p USING(cpf) WHERE c.pnome LIKE 'Andre%'; 56
57 Exercícios de fixação Selecione os clientes que não possuem conta em nenhuma agência Exiba o número, o valor das transações e as contas e a data as quais estão relacionadas Exiba quais transações não estão relacionadas à nenhuma conta Exiba o quantidade e o valor total das transações que se encontram na situação anterior 57
58 RIGHT OUTER JOIN Combina todas as tuplas da tabela à direita da junção com as tuplas cujos valores combinam na tabela a esquerda Suponha que precisamos criar um relatório com todos os clientes que não possuem conta 58
59 RIGHT OUTER JOIN Para que todos os clientes apareçam no resultado, independente de ter uma ocorrência do cpf em pessoaconta devemos ter uma junção externa SELECT numero, c.cpf, c.pnome FROM pessoaconta pc RIGHT OUTER JOIN cliente c ON pc.cpf = c.cpf; 59
60 RIGHT OUTER JOIN SELECT numero, c.cpf, c.pnome FROM pessoaconta pc RIGHT OUTER JOIN cliente c ON pc.cpf = c.cpf WHERE pc.numero IS NULL; 60
61 Exercícios de fixação Exiba o número, o valor das transações e as contas e a data as quais estão relacionadas Exiba quais transações não estão relacionadas à nenhuma conta Exiba o quantidade e o valor total das transações que se encontram na situação anterior 61
62 FULL OUTER JOIN Combina o resultado obtido com LEFT OUTER JOIN e RIGHT OUTER JOIN Retorna todas as linhas existentes nas tabela envolvidas 62
63 MySQL O MySQL não implementa o FULL OUTER JOIN podemos usar várias abordagens para conseguir o comando, por exemplo: Realizar JOIN e UNION Realizar UNION ALL e junção de exclusão 63
64 UNION Usado para combinar o resultado de múltiplas seleções Se usado como UNION, todas as linhas duplicadas serão removidas Se usada com a opção ALL (UNION ALL) todas as linhas serão retornadas independente de serem duplicadas Os nomes das colunas da primeira seleção são usados como nome da coluna no resultado 64
65 Exemplo Exiba os nomes de todos os clientes de qualquer agência Código 1 SELECT * FROM cliente UNION SELECT * FROM gerente; 65
66 Exemplo Exiba os nomes de todos os clientes de qualquer agência Código 2 SELECT pnome, mnome, unome FROM cliente UNION SELECT pnome, mnome, unome FROM gerente; 66
67 MySQL No MySQL somente as relações envolvidas devem ter o mesmo grau Cuidado: como não existe a regra de mesmo domínio no MySQL, podemos realizar a união de qualquer tipo de dados SELECT cpf FROM cliente UNION SELECT pnome FROM gerente LIMIT 993,10; 67
68 Exercícios Exiba o primeiro nome de todas as pessoas cadastradas no banco sem repetições que tenham o primeiro nome iniciando com o caractere C no primeiro nome Exiba o primeiro nome de todas as pessoas cadastradas no banco com repetições que tenham o primeiro nome iniciando com o caractere C no primeiro nome 68
69 Exercícios Exiba nome completo de todas as pessoas cadastradas no banco que tenham o padrão ANDRE em qualquer parte do nome Exiba todos os números de contas e transações Exiba todos os números de contas corrente e transações depósito Realize um FULL OUTER JOIN entre as tabelas cliente e pessoaconta 69
SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE
Leia maisEx.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )
Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 10 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas
Leia maisf. 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.
Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 11 1) Cláusulas SELECT e FROM a. Apesar de ser a primeira, ela é a
Leia maisMemória de aula Semanas 15 e 16
FMU Curso: Ciência da Computação Disciplina: Banco de Dados I Professor: Ecivaldo Matos Memória de aula Semanas 15 e 16 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando
Leia maisBases de Dados 2005/2006. Aula 5
Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.
Leia maisEx.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )
PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES
Leia maisBanco de dados 1. Linguagem DML SQL Select Avançado. Professor: Victor Hugo L. Lopes
Banco de dados 1 Linguagem DML SQL Select Avançado Professor: Victor Hugo L. Lopes Agenda: -União de tabelas em consultas; -Joins. 2 Até este momento, vimos as capacidades da SQL de completa manipulação
Leia maisIF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1
IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685
Leia maisBanco de Dados I. Aula 9 - Prof. Bruno Moreno 20/09/2011
Banco de Dados I Aula 9 - Prof. Bruno Moreno 20/09/2011 Operações Binárias União (UNION) Interseção (INTERSECTION) Subtração (MINUS) Produto Cartesiano Junção (JOIN) Divisão (DIVISION) Aula passada! REVISÃO
Leia maisJunções e Índices em Tabelas
Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar
Leia maisBDII SQL Junção Revisão 8
exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos
Leia maisComandos de Manipulação
SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL
Leia maisÁlgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.
Álgebra Relacional Álgebra Relacional é o conjunto básico de operações para o Modelo Relacional. Essas operações permitem a um usuário especificar as solicitações básicas de recuperação. O resultado de
Leia mais3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.
NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary
Leia maisFaculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Unidade 6.2 Álgebra Relacional - 1 PACIENTE cod-pac nome-pac
Leia maisIntrodução ao SQL. Aécio Costa
Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição
Leia mais07/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan
Faculdade IED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional Prof.: Fernando Hadad Zaidan Unidade Álgebra Relacional 2 Leitura Obrigatória ELMASRI, R.;
Leia maisTarefa Orientada 14 Subconsultas
Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta
Leia maisTarefa Orientada 12 Junção Externa, Auto-Junção e União
Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa
Leia maisÁ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:
Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção
Leia mais1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All...
SQL 1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... 2. Servidor... 2.1 Ativando log no Broker... 2.2 Leitura do log no
Leia maisModelo Relacional - Manipulação
Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas
Leia maisDisciplina: Unidade III: Prof.: E-mail: Período:
Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias
Leia maisTarefa Orientada 11 Junção Interna
Tarefa Orientada 11 Junção Interna Objectivos: Junção Interna (INNER JOIN) Junção Interna A operação de junção interna (INNER JOIN) é utilizada para combinar colunas de duas ou mais tabelas. O resultado
Leia maisselect nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 )
Subconsultas * subconsulta: forma alternativa de expressar consultas envolvendo relacionamentos entre tabelas * cláusulas para tratamento de subconsultas: IN, ANY, ALL, EXISTS 3.1) Cláusula [NOT] IN *
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II
UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de
Leia maisIntrodução às Bases de Dados
Introdução às Bases de Dados Chave primária Domínios Relação F# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal Atributos Tuplas Introdução às Bases de Dados Modelo
Leia maisRoteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos
Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de
Leia maisORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas
ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos
Leia maisUma expressão básica em SQL consiste em três cláusulas: select, from e where.
Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra
Leia maisBanco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL
Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas
Leia maisProjeto de Banco de Dados
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,
Leia maisPrincipais Instruções em SQL
Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1]
Leia maisIntrodução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Leia maisSQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br
Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,
Leia maisLinguagem de Banco de Dados DML Exercícios
Linguagem de Banco de Dados DML Exercícios 1. A partir do modelo conceitual abaixo e das descrições das tabelas, crie o modelo físico e implanteo no banco de dados. 2. Acrescente os dados, conforme descrito
Leia mais8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras
Leia maisProva de Fundamentos de Bancos de Dados 2 a Prova
Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2007 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi
Leia maisPrincipais Comandos SQL Usados no MySql
Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)
Leia maisExemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)
Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,
Leia maisNOME SEXO CPF NASCIMENTO SALARIO
Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento
Leia maisTreinamento sobre SQL
Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na
Leia maisPrincipais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio
MODELO RELACIONAL Principais Conceitos Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio Conceitos Básicos - Relações A Álgebra Relacional fundamenta-se
Leia maisStructured Query Language (SQL)
SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas
Leia maisBásico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)
Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de
Leia maisProgramação SQL. INTRODUÇÃO II parte
Programação SQL INTRODUÇÃO II parte Programação SQL SELECT; INSERT; UPDATE; DELETE. Este conjunto de comandos faz parte da sublinguagem denominada por DML Data Manipulation Language (Linguagem de manipulação
Leia maisSQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.
SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição
Leia maisBANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição
Leia mais2008.2. SQL Avançado Continuação. Renata Viegas
SQL Avançado Continuação Renata Viegas Cláusula COMPUTE Sintaxe: SELECT FROM ORDER BY COMPUTE BY Para que serve? Gerar totalizadores
Leia maisEXERCÍCIOS PRÁTICOS. Banco de Dados
EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:
Leia maisUNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO
UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO 2ª. Avaliação de Banco de Dados 1º. Sem de 2008 Prof.: Carlos Bazilio
Leia maisBanco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello
Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada
Leia maisExercícios de Lógica Exercícios de Fixação 08
Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa
Leia maisFaculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível
Leia maisFaculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do
Leia maisTarefa Orientada 16 Vistas
Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um
Leia maisTarefa Orientada 10 Obter informação a partir de uma tabela
Tarefa Orientada 10 Obter informação a partir de uma tabela Objectivos: Consultar dados de uma tabela Utilizar operadores aritméticos, relacionais, lógicos, de concatenação de cadeias de caracteres, LIKE
Leia maisBanco de Dados I. SQL SELECT Parte 1 - Básico. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas
Banco de Dados I SQL SELECT Parte 1 - Básico Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Notas sobre prioridade de restrições de integridade
Leia maisDefinida pelo American National Standard Institute (ANSI) em 1986
2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional
Leia maisSQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:
SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências
Leia maisBanco de Dados Oracle 10g: Introdução à Linguagem SQL
Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,
Leia maisBanco de Dados. Conversão para o Banco de Dados SisMoura
Banco de Dados Conversão para o Banco de Dados SisMoura Objetivo : Converter as informações contidas em um determinado banco de dados para o banco de dados do Sismoura. Restaurar Banco de Dados em branco
Leia maisTarefa Orientada 13 Agrupamento e sumário de dados
Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os
Leia maisLINGUAGEM DE BANCO DE DADOS
LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados
Leia maisProf. Daniela Barreiro Claro
Prof. Daniela Barreiro Claro SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem efetivamente executadas Uma consulta possui muitas estratégias
Leia maisFernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br
Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por
Leia maisSQL UMA ABORDAGEM INTERESSANTE
SQL é uma linguagem de consulta estruturada, do inglês Structured Query Language. É uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características
Leia maisIntrodução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
Leia mais1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:
Curso Profissional Técnico de Informática de Gestão 10ºB Prof. Pedro Lopes S i s t e m a s d e I n f o r m a ç ã o M ó d u l o : L i n g u a g e m S Q L T e s t e s u m a t i v o d u r a ç ã o 8 0 m i
Leia maisBANCO DE DADOS aula 6 álgebra relacional -
INSTITUTO DE EXATAS E TECNOLÓGICAS Curso de Ciência da Computação BANCO DE DADOS aula 6 álgebra relacional - professor: Juliano Varella de Carvalho 5.1. Álgebra Relacional relações de exemplo conta agencia
Leia maisSISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão
SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto
Leia maisTarefa Orientada 15 Manipulação de dados
Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE
Leia maisO que são Bancos de Dados?
SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados
Leia maisProcessamento e Otimização de Consultas
Introdução Processamento e Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Processamento
Leia maisBanco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli
Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional (Aula 3) Clodis Boscarioli Agenda: Exercícios de Mapeamento ME-R para MR; Restrições de Domínio; Restrições de Chave
Leia maisSubconsultas ou Consultas Aninhadas
Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de
Leia maisConsultas SQL Parte II
CURSO TÉCNICO EM INFORMÁTICA COMPONENTE CURRICULAR: BANCO DE DADOS PROFESSOR (A): Josiane Ferri TURMA: 11/1 - Tarde Consultas SQL Parte II Outras cláusulas que o comando select apresenta são DISTINCT,
Leia maisRápida revisão do Modelo Relacional
Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.
Leia maisSQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados
SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para
Leia maisMúltiplas Tabelas. Disciplina de Banco de Dados
Múltiplas Tabelas Uma das grandes características de um sistema de banco de dados relacional é a capacidade de interagir com múltiplas tabelas, como se elas fossem apenas uma. Para exemplificar esse tipo
Leia maisExercícios. Exercícios
Exercícios 1 Exercícios 1. Crie um Banco de Dados Chamado: Exercicio+SeuNome 2. Crie uma tabela chamada CLIENTE, contendo os seguintes campos: Campo Tipo Tamanho Permissão PK Cod_cli Numeric 8,0 Not null
Leia maisFEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL
Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para
Leia maisPrincipais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.
Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,
Leia maisCIÊNCIA E TECNOLOGIA DO RIO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia
Leia maisRoteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.
Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução
Leia maisSQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.
SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]
Leia mais4.6. SQL - Structured Query Language
4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não
Leia maisEste Procedimento Operacional Padrão explica a melhor forma de se utilizar os filtros no Sistema TOTVS RM. Índice
Este Procedimento Operacional Padrão explica a melhor forma de se utilizar os filtros no Sistema TOTVS RM. Índice I. Criação dos Filtros... 2 II. Gerenciamento de Filtros... 2 III. Operadores disponíveis:...
Leia maisProjeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Leia maisMemória de aula Aulas 11 e 12
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
Leia mais2013 GVDASA Sistemas Cheques 1
2013 GVDASA Sistemas Cheques 1 2013 GVDASA Sistemas Cheques 2 AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma
Leia maisINNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com
INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com PALAVRAS CHAVES: inner join, left outer join, cross join, right outer join, full outer join, junções,
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisGabarito - Banco de Dados SQL - 30/07/2013 AULA 01
Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 1 1- Bancos de dados compreendem desde agendas telefônicas até sistemas computadorizados. (Sim) 2- Só podemos instalar o SQL Server Express se tivermos
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisAplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013
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 Picture by Steve Kelley 2008 SQL SQL Structured Query Language Originalmente:
Leia mais