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



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

Memória de aula Semanas 15 e 16

Memória de aula Aulas 11 e 12

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.

Comandos de Manipulação

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

Projeto de Banco de Dados

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

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

Bases de Dados 2005/2006. Aula 5

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

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

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

Tarefa Orientada 14 Subconsultas

BDII SQL Junção Revisão 8

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

SQL DML. Frederico D. Bortoloti

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

Structured Query Language (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 é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

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

Tarefa Orientada 13 Agrupamento e sumário de dados

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

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

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

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

SQL. Prof. Márcio Bueno.

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS)

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

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.

ANÁLISE E PROJETO DE BANCO DE DADOS

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

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

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

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

Prof.: Clayton Maciel Costa

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

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

Definida pelo American National Standard Institute (ANSI) em 1986

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

MODELO DE DADOS VS ESQUEMA

Principais Instruções em SQL

Rápida revisão do Modelo Relacional

Introdução ao SQL Avançado

SQL (Linguagem de Consulta Estruturada)

Linguagem SQL Parte I

SQL Avançado Continuação. Renata Viegas

4.6. SQL - Structured Query Language

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

Linguagem de Consulta Estruturada (SQL)

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

Exercícios. Exercícios

PROGRAMA. Objectivos Gerais :

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

SQL UMA ABORDAGEM INTERESSANTE

1.264 Aula 7. Introdução ao SQL

BANCO DE DADOS Parte 4

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

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

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

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

Linguagem de Consulta Estruturada SQL- DML

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

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

CIÊNCIA E TECNOLOGIA DO RIO

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

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

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

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

DML - SELECT Agrupando Dados

Treinamento sobre SQL

EXEMPLOS DE COMANDOS NO SQL SERVER

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

Tarefa Orientada 15 Manipulação de dados

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

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

NOME SEXO CPF NASCIMENTO SALARIO

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

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

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Banco de Dados I. SQL SELECT Parte 1 - Básico. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Linguagem de Banco de Dados DML Exercícios

Linguagem SQL. Comandos Básicos

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

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

Projeto e Implementação

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

Linguagem de Consulta - SQL

Junções e Índices em Tabelas

Tarefa Orientada 11 Junção Interna

O comando CREATE TABLE cria a tabela solicitada e obedece à seguinte forma:

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

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

Gatilhos (Triggers) Prof. Márcio Bueno Elaborado por Maria Lígia B. Perkusich

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Transcrição:

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 ( valor [, valor,... ] ) Tabela: nome da tabela que receberá a inclusão. Coluna: Lista de colunas que terão seus valores atribuídos (opcional) Valor: conteúdo que será incluído em cada coluna. Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) Obs.: colunas que não tiverem valores atribuídos terão conteúdo nulo. Caso queira explicitar a inclusão de um valor nulo numa determinada coluna use NULL no lugar correspondente ao valor desta coluna. 2) Incluindo várias linhas INSERT INTO tabela [ ( coluna [, coluna,...] ) ] SELECT comando-select Tabela: nome da tabela que receberá a inclusão. Coluna: Lista de colunas que terão seus valores atribuídos (opcional) Comando-select: comando select que será visto na próxima aula. Exs.: INSERT INTO Estado SELECT * FROM Uf INSERT INTO tmpautor (CDAUTOR, NMAUTOR) SELECT CDAUTOR, NMAUTOR from AUTOR 3) Alteração de dados 1

UPDATE tabela SET coluna = valor [, coluna = valor,...] [WHERE condição] Tabela: nome da tabela que receberá a inclusão. Coluna: Lista de colunas que terão seus valores atribuídos (opcional) Valor: novo conteúdo para a coluna. Condição: condição que indicará o limite de atualização das linhas. Ex.: UPDATE CD SET PRECO_VENDA = 15 WHERE CODIGO_CD = 1; UPDATE CD SET PRECO_VENDA = PRECO_VENDA * 1,05 WHERE CODIGO_GRAVADORA = 2; 4) Exclusão de dados DELETE FROM tabela [WHERE condição] Tabela: nome da tabela que receberá a inclusão. Condição: condição que indicará o limite de atualização das linhas. Ex.: DELETE FROM AUTOR WHERE CDAUTOR = 1 5) Cláusulas SELECT e FROM a. Apesar de ser a primeira, ela é a última instrução a ser executada!!! b. Antes de poder determinar o que incluir no conjunto-resultado final, é necessário conhecer todas as colunas que podem ser incluídas nele. c. Para isso, será necessário conhecer um pouco a cláusula FROM d. A cláusula FROM indica a(s) tabelas(s) que participarão do conjunto-resultado da consulta. e. Por exemplo: i. Mostre todas as colunas e todas as linhas da tabela cliente: SELECT * FROM cliente 2

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. SELECT codcliente,nome,cpf,datacadastro,cidade,uf,pais FROM cliente h. Além de selecionar todas as colunas, você pode indicar quais colunas (subconjunto): SELECT codcliente,nome,cpf FROM cliente 6) Cláusula DISTINCT a. Remove possíveis linhas duplicadas no resultado i. Exemplo: Select distinct nomecliente from cliente 7) Cláusula WHERE a. Mecanismo de filtragem de linhas indesejáveis de seu conjunto-resultado. Ex.: Select e.cod_emp, e.nome, e.sobrenome, e.dt_contr, e.cargo From empregado as e Where (e.cargo like analista% or e.cod_emp >= 41) and e.dt_contr > 04-23-2010 Obs.: lembre-se que atributos do tipo datetime guardam data e hora, inclusive com segundos, como 04-23-2010 01:05:00. Quando não for especificado as horas, minutos e segundos, será considerado 00:00:00. Logo a expressão e.dt_contr > 04-23-2010 permite retornar todos registro desta data. Operadores de comparação: like: valores aproximados para alfanuméricos, geralmente utilizado em conjunto com %, que indica qualquer coisa. O coringa _ indica um caracter, [a-f] indica um caracter entre a e f quaisquer, e [^a-f] indica um caracter que não esteja entre a e f quaisquer. >, <, >=, <=, =, <> (diferente) 8) Cláusula ORDER BY Em geral os resultados de consultas não estão em nenhuma ordem específica. 3

A cláusula order by é o mecanismo que ordena seus conjuntos-resultados usando dados de coluna brutos ou expressões baseadas em dados de coluna. Exemplos: Order by cod_vendedor Order by cod_vendedor, nomeproduto Order by cod_vendedor desc Order by cod_vendedor desc, nomeproduto asc Order by 2 Obs.: o default é ordenação ascendente, ou seja, caso não seja especificado asc ou desc, a ordenação será ascendente. 9) Junção a. Ideia similar à Junção da Álgebra Relacional b. Produto Cartesiano P, loja as L ou P cross join loja as L i. Filtro ruim: P, loja as L 4

where P.codloja = L.codloja ii. Filtro correto: JOIN c. Junções internas i. Ex.: (junção interna é o join padrão) P join loja as L on (P.codloja = L.codloja) ii. Explicitando que a junção é interna P inner join loja as L on (P.codloja = L.codloja) d. Junções externas (outer join) i. Right outer join ii. Left outer join iii. Full outer join select nomeloja, codproduto, valor from preco as P left outer join loja as L on (P.codloja = L.codloja) select nomeloja, codproduto, valor from preco as P full outer join loja as L on (P.codloja = L.codloja) 10) 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. 5

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 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 eficiencia_energ group by faixaef having count(*) > 4 from Faixa Qtd A 5 B 14 D 18 11) Subconsultas (subqueries): são consultas aninhadas (dentro de outras consultas). SELECT colunas 6

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ó funcionam se a subconsulta retornar apenas um valor (uma linha e uma coluna). Select nome,preco From cd 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) From cd 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 From cd Where preco < ANY (select preco from cd where cd_gravadora = 2) 7

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 From cd Where preco < ALL (select preco from cd where cd_gravadora = 2) 12) 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. 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) 8

ii. Exemplos de diferença SELECT DISTINCT cidade FROM autor WHERE NOT EXISTS(SELECT * FROM editora WHERE autor.cidade = editora.cidade) 13) 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. 9