SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
BANCO DE DADOS
- INTRODUÇÃO AO SQL
Prof. Angelo Augusto Frozza, M.Sc.
frozza@ifc-camboriu.edu.br
SQL – STRUTURED QUERY LANGUAGE
Os comandos SQL podem ser agrupados em 3 classes:
DDL – Data Definition Language
Comandos para a Definição de Dados
DML – Data Manipulation Language
Comandos para a Manipulação de Dados
DCL – Data Control Language
Comandos para o Controle do Gerenciador, Conexão e Usuário
SQL – STRUTURED QUERY LANGUAGE
Objetos manipuláveis em um Banco de Dados:
Database (Base de Dados)
Table (Tabelas)
Index (Indíces)
View (Visões)
Stored Procedures (Procedimentos)
Triggers (Gatilhos)
Domain (Domínios)
Generator (Variáveis Globais)
Exception (Excecões)
User (Usuários)
Role (Grupos de Usuários)
SQL – STRUTURED QUERY LANGUAGE
Comandos básicos da Linguagem de Manipulação dos Dados
(DML):
INSERT
SELECT
UPDATE
DELETE
SQL – STRUTURED QUERY LANGUAGE
PostgreSQL
Documentação
http://pgdocptbr.sourceforge.net/pg82/reference.html
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
INSERT INTO tabela
[ ( coluna [, ...] ) ]
{ DEFAULT VALUES | VALUES (
{ expressão | DEFAULT } [, ...] )
[, ...] | consulta }
[ RETURNING * | expressão_de_saída
[ AS nome_de_saída ] [, ...] ]
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
INSERT INTO paises (pais, nacionalidade)
VALUES ('Brasil', 'Brasileiro');
INSERT INTO paises (id_pais, pais, nacionalidade)
VALUES (DEFAULT, 'Mexico', 'Mexicano');
INSERT INTO paises
VALUES (DEFAULT, 'Venezuela', 'Venezuelano');
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
INSERT INTO paises (pais, nacionalidade)
VALUES ('Uruguai', 'Uruguaio')
RETURNING *;
INSERT INTO paises
VALUES (DEFAULT, 'Guiana Francesa', 'Guianense')
RETURNING id_pais;
INSERT INTO paises
VALUES (DEFAULT, 'Guiana (República
Cooperativa da Guiana)', 'Guianês')
RETURNING id_pais;
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
Vários registros na mesma linha
INSERT INTO paises (pais, nacionalidade)
VALUES ('Canadá', 'Canadense'),
('Estados Unidos', 'Americano') ,
('Bolívia', 'Boliviano');
INSERT INTO paises (pais, nacionalidade)
VALUES ('Franca', 'Frances'),
('Alemanha', 'Alemao') ,
('Italia', 'Italiano')
RETURNING id_pais;
EXERCÍCIO DE FIXAÇÃO
INSERT
Como exercício de fixação, crie registros para as
tabelas do banco de dados modelo, conforme as
instruções repassadas pelo professor.
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta todos os registros e campos de uma tabela:
SELECT * FROM tabela;
select * from paises;
Consulta apenas alguns campos da tabela:
SELECT campo1, campo2, ..., campoN FROM tabela;
select id_filme, titulo, genero from filmes;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com ordenação:
SELECT * FROM tabela ORDER BY campo;
SELECT campos FROM tabela ORDER BY campo;
SELECT * FROM filmes ORDER BY titulo;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY genero;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY genero, titulo;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com ordenação crescente ou decrescente:
SELECT * FROM tabela ORDER BY campo ASC | DESC;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY genero, titulo DESC;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY id_filme DESC;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de valores:
SELECT * FROM tabela WHERE campo = ?;
SELECT id_filme, titulo, genero FROM filmes WHERE
genero = 3;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de valores:
SELECT * FROM tabela
WHERE campo1 = ? AND campo2 = ?;
SELECT * FROM tabela
WHERE campo1 <> ? OR campo2 = ?;
SELECT id_filme, titulo, genero FROM filmes WHERE
genero = 3 AND id_filme > 15;
SELECT id_filme, titulo, genero FROM filmes WHERE
genero <> 3 OR id_filme > 15;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de texto aproximados:
SELECT * FROM tabela
WHERE campo1 like ‘...%...’;
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo like 'a%’;
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo like 'a%’ OR titulo like ‘A%’ ;
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo like ‘%o’;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de texto aproximados:
SELECT * FROM tabela
WHERE campo1 like ‘_...’;
O SQL substitui o ‘_’ (underline) por qualquer
caracter.
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo = ‘_caro%’;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com limite de registros:
SELECT * FROM tabela LIMIT n;
SELECT id_filme, titulo, genero FROM filmes
LIMIT 5;
SELECT id_filme, titulo, genero
FROM filmes
ORDER BY titulo LIMIT 5;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta agrupando os valores:
SELECT * FROM tabela GROUP BY campo;
SELECT genero FROM filmes
GROUP BY genero;
SELECT ano_lancamento FROM filmes
GROUP BY ano_lancamento;
SELECT genero, ano_lancamento FROM filmes
GROUP BY genero, ano_lancamento;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta agrupando os valores e contando registros:
SELECT COUNT(*) FROM tabela GROUP BY campo;
SELECT COUNT(*), genero FROM filmes
GROUP BY genero ORDER BY COUNT(*);
SELECT COUNT(*), ano_lancamento FROM filmes
GROUP BY ano_lancamento;
SELECT COUNT(*), genero, ano_lancamento FROM filmes
GROUP BY genero, ano_lancamento;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta alterando o nome dos campos:
SELECT campo AS apelido FROM tabela GROUP BY campo;
SELECT COUNT(*) AS qtde, genero FROM filmes
GROUP BY genero ORDER BY COUNT(*);
SELECT COUNT(*) AS qtde, ano_lancamento FROM filmes
GROUP BY ano_lancamento;
SELECT COUNT(*) AS qtde, genero,
ano_lancamento AS lancamento FROM filmes
GROUP BY genero, ano_lancamento;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta somando valores:
SELECT SUM(campo) FROM tabela;
SELECT SUM(campo) AS apelido FROM tabela;
SELECT SUM(valor) AS total_locacao FROM locacao;
SELECT codigo AS cliente,
SUM(valor) AS total_locacao
FROM locacao
WHERE codigo = 1
GROUP BY codigo;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consultar dados de mais de uma tabela:
SELECT * FROM tabela_A, tabela_B;
SELECT a.*, b.* FROM tabela_A a, tabela_B b;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta registros em um intervalo de datas:
SELECT campos
FROM tabela
WHERE campo_data
BETWEEN data_inicio AND data_fim;
SELECT count(*)
FROM locacao
WHERE data_hora_locacao
BETWEEN ’01-04-2011’ AND ’09-04-2011’;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Outras cláusulas interessantes:
union
intersect
except
join
left join
right join
full join
cross join
having
distinct
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador UNION (união):
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
UNION
SELECT * FROM B;
O operador UNION retorna os registros selecionados em ambas as
consultas, eliminando os registros duplicados:
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador UNION ALL:
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
UNION ALL
SELECT * FROM B;
O operador UNION ALL retorna TODOS os registros selecionados em
ambas as consultas, SEM REMOVER os registros duplicados:
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador INTERSECT (intersecção):
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
INTERSECT
SELECT * FROM B;
O operador INTERSECT retorna APENAS os registros comuns em ambas
as consultas:
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador EXCEPT (exceto):
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
EXCEPT
SELECT * FROM B;
O operador EXCEPT retorna os registros presentes no primeiro conjunto,
MENOS os registros presentes no segundo conjunto:
SQL – STRUTURED QUERY LANGUAGE
Atualizar dados
UPDATE [ ONLY ] tabela [ [ AS ] aliás ]
SET { coluna = { expressão | DEFAULT } |
( coluna [, ...] ) =
( { expressão | DEFAULT } [, ...] ) }
[, ...]
[ FROM lista_do_from ]
[ WHERE condição ]
[ RETURNING * |
expressão_de_saída [ AS nome_de_saída ] [, ...] ]
SQL – STRUTURED QUERY LANGUAGE
Atualizar dados
Alterar dados em uma tabela
UPDATE filmes
SET ano_lancamento = 2011,
faixa_etaria = 1,
titulo = 'Rio',
observacoes = 'Filme brasileiro',
genero = 1,
id_tipo = 1
WHERE id_filme = 1;
SQL – STRUTURED QUERY LANGUAGE
Atualizar dados
Alterar dados em uma tabela retornando um campo
UPDATE filmes
SET ano_lancamento = 2011,
faixa_etaria = 1,
titulo = 'Rio',
observacoes = 'Filme brasileiro',
genero = 1,
id_tipo = 1
WHERE id_filme = 1
RETURNING id_filme;
SQL – STRUTURED QUERY LANGUAGE
Exclusão de registros
DELETE FROM [ ONLY ] tabela [ [ AS ] aliás ]
[ USING lista_do_using ]
[ WHERE condição ]
[ RETURNING * | expressão_de_saída [ AS
nome_de_saída ] [, ...] ]
SQL – STRUTURED QUERY LANGUAGE
Exclusão de registros
Exemplo:
DELETE FROM filmes
WHERE id_filme = 2;

Mais conteúdo relacionado

Mais procurados

Base de Dados - Introdução
Base de Dados - IntroduçãoBase de Dados - Introdução
Base de Dados - IntroduçãoMariana Hiyori
 
Apostila excel 2016
Apostila excel 2016Apostila excel 2016
Apostila excel 2016ProsubSig
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosElaine Cecília Gatto
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosNatanael Simões
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Pacc UAB
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadoressetilsonadobmov
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 

Mais procurados (20)

Base de Dados - Introdução
Base de Dados - IntroduçãoBase de Dados - Introdução
Base de Dados - Introdução
 
Apostila excel 2016
Apostila excel 2016Apostila excel 2016
Apostila excel 2016
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadores
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
SGBD
SGBDSGBD
SGBD
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Ac16 conjunto de instruções v2
Ac16   conjunto de instruções v2Ac16   conjunto de instruções v2
Ac16 conjunto de instruções v2
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 

Semelhante a Introdução SQL banco dados

Semelhante a Introdução SQL banco dados (20)

Aulas_SQL.pdf
Aulas_SQL.pdfAulas_SQL.pdf
Aulas_SQL.pdf
 
Banco de dados comandos sql
Banco de dados   comandos sqlBanco de dados   comandos sql
Banco de dados comandos sql
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
 
Bd sql (1)
Bd sql (1)Bd sql (1)
Bd sql (1)
 
Aula 6 sql - introdução
Aula 6   sql - introduçãoAula 6   sql - introdução
Aula 6 sql - introdução
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Bd08
Bd08Bd08
Bd08
 
SQL DDL
SQL DDLSQL DDL
SQL DDL
 
MYSQL - TLBDII
MYSQL - TLBDIIMYSQL - TLBDII
MYSQL - TLBDII
 
Principais instruções em sql
Principais instruções em sqlPrincipais instruções em sql
Principais instruções em sql
 
07 sql - parte 01
07   sql - parte 0107   sql - parte 01
07 sql - parte 01
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
I Series 400 Query
I Series 400   QueryI Series 400   Query
I Series 400 Query
 
Banco dados lj
Banco dados ljBanco dados lj
Banco dados lj
 

Mais de Universidade Zambeze

Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Universidade Zambeze
 

Mais de Universidade Zambeze (6)

Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
 
Fases de um compilador
Fases de um compiladorFases de um compilador
Fases de um compilador
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Placa mae-oficinas de informatica
Placa mae-oficinas de informaticaPlaca mae-oficinas de informatica
Placa mae-oficinas de informatica
 
Memória Ram - Aula Completa
Memória Ram - Aula CompletaMemória Ram - Aula Completa
Memória Ram - Aula Completa
 
Internet aula completa
Internet aula completaInternet aula completa
Internet aula completa
 

Introdução SQL banco dados

  • 1. BANCO DE DADOS - INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
  • 2. SQL – STRUTURED QUERY LANGUAGE Os comandos SQL podem ser agrupados em 3 classes: DDL – Data Definition Language Comandos para a Definição de Dados DML – Data Manipulation Language Comandos para a Manipulação de Dados DCL – Data Control Language Comandos para o Controle do Gerenciador, Conexão e Usuário
  • 3. SQL – STRUTURED QUERY LANGUAGE Objetos manipuláveis em um Banco de Dados: Database (Base de Dados) Table (Tabelas) Index (Indíces) View (Visões) Stored Procedures (Procedimentos) Triggers (Gatilhos) Domain (Domínios) Generator (Variáveis Globais) Exception (Excecões) User (Usuários) Role (Grupos de Usuários)
  • 4. SQL – STRUTURED QUERY LANGUAGE Comandos básicos da Linguagem de Manipulação dos Dados (DML): INSERT SELECT UPDATE DELETE
  • 5. SQL – STRUTURED QUERY LANGUAGE PostgreSQL Documentação http://pgdocptbr.sourceforge.net/pg82/reference.html
  • 6. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela INSERT INTO tabela [ ( coluna [, ...] ) ] { DEFAULT VALUES | VALUES ( { expressão | DEFAULT } [, ...] ) [, ...] | consulta } [ RETURNING * | expressão_de_saída [ AS nome_de_saída ] [, ...] ]
  • 7. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela INSERT INTO paises (pais, nacionalidade) VALUES ('Brasil', 'Brasileiro'); INSERT INTO paises (id_pais, pais, nacionalidade) VALUES (DEFAULT, 'Mexico', 'Mexicano'); INSERT INTO paises VALUES (DEFAULT, 'Venezuela', 'Venezuelano');
  • 8. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela INSERT INTO paises (pais, nacionalidade) VALUES ('Uruguai', 'Uruguaio') RETURNING *; INSERT INTO paises VALUES (DEFAULT, 'Guiana Francesa', 'Guianense') RETURNING id_pais; INSERT INTO paises VALUES (DEFAULT, 'Guiana (República Cooperativa da Guiana)', 'Guianês') RETURNING id_pais;
  • 9. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela Vários registros na mesma linha INSERT INTO paises (pais, nacionalidade) VALUES ('Canadá', 'Canadense'), ('Estados Unidos', 'Americano') , ('Bolívia', 'Boliviano'); INSERT INTO paises (pais, nacionalidade) VALUES ('Franca', 'Frances'), ('Alemanha', 'Alemao') , ('Italia', 'Italiano') RETURNING id_pais;
  • 10. EXERCÍCIO DE FIXAÇÃO INSERT Como exercício de fixação, crie registros para as tabelas do banco de dados modelo, conforme as instruções repassadas pelo professor.
  • 11. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta todos os registros e campos de uma tabela: SELECT * FROM tabela; select * from paises; Consulta apenas alguns campos da tabela: SELECT campo1, campo2, ..., campoN FROM tabela; select id_filme, titulo, genero from filmes;
  • 12. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com ordenação: SELECT * FROM tabela ORDER BY campo; SELECT campos FROM tabela ORDER BY campo; SELECT * FROM filmes ORDER BY titulo; SELECT id_filme, titulo, genero FROM filmes ORDER BY genero; SELECT id_filme, titulo, genero FROM filmes ORDER BY genero, titulo;
  • 13. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com ordenação crescente ou decrescente: SELECT * FROM tabela ORDER BY campo ASC | DESC; SELECT id_filme, titulo, genero FROM filmes ORDER BY genero, titulo DESC; SELECT id_filme, titulo, genero FROM filmes ORDER BY id_filme DESC;
  • 14. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de valores: SELECT * FROM tabela WHERE campo = ?; SELECT id_filme, titulo, genero FROM filmes WHERE genero = 3;
  • 15. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de valores: SELECT * FROM tabela WHERE campo1 = ? AND campo2 = ?; SELECT * FROM tabela WHERE campo1 <> ? OR campo2 = ?; SELECT id_filme, titulo, genero FROM filmes WHERE genero = 3 AND id_filme > 15; SELECT id_filme, titulo, genero FROM filmes WHERE genero <> 3 OR id_filme > 15;
  • 16. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de texto aproximados: SELECT * FROM tabela WHERE campo1 like ‘...%...’; SELECT id_filme, titulo, genero FROM filmes WHERE titulo like 'a%’; SELECT id_filme, titulo, genero FROM filmes WHERE titulo like 'a%’ OR titulo like ‘A%’ ; SELECT id_filme, titulo, genero FROM filmes WHERE titulo like ‘%o’;
  • 17. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de texto aproximados: SELECT * FROM tabela WHERE campo1 like ‘_...’; O SQL substitui o ‘_’ (underline) por qualquer caracter. SELECT id_filme, titulo, genero FROM filmes WHERE titulo = ‘_caro%’;
  • 18. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com limite de registros: SELECT * FROM tabela LIMIT n; SELECT id_filme, titulo, genero FROM filmes LIMIT 5; SELECT id_filme, titulo, genero FROM filmes ORDER BY titulo LIMIT 5;
  • 19. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta agrupando os valores: SELECT * FROM tabela GROUP BY campo; SELECT genero FROM filmes GROUP BY genero; SELECT ano_lancamento FROM filmes GROUP BY ano_lancamento; SELECT genero, ano_lancamento FROM filmes GROUP BY genero, ano_lancamento;
  • 20. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta agrupando os valores e contando registros: SELECT COUNT(*) FROM tabela GROUP BY campo; SELECT COUNT(*), genero FROM filmes GROUP BY genero ORDER BY COUNT(*); SELECT COUNT(*), ano_lancamento FROM filmes GROUP BY ano_lancamento; SELECT COUNT(*), genero, ano_lancamento FROM filmes GROUP BY genero, ano_lancamento;
  • 21. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta alterando o nome dos campos: SELECT campo AS apelido FROM tabela GROUP BY campo; SELECT COUNT(*) AS qtde, genero FROM filmes GROUP BY genero ORDER BY COUNT(*); SELECT COUNT(*) AS qtde, ano_lancamento FROM filmes GROUP BY ano_lancamento; SELECT COUNT(*) AS qtde, genero, ano_lancamento AS lancamento FROM filmes GROUP BY genero, ano_lancamento;
  • 22. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta somando valores: SELECT SUM(campo) FROM tabela; SELECT SUM(campo) AS apelido FROM tabela; SELECT SUM(valor) AS total_locacao FROM locacao; SELECT codigo AS cliente, SUM(valor) AS total_locacao FROM locacao WHERE codigo = 1 GROUP BY codigo;
  • 23. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consultar dados de mais de uma tabela: SELECT * FROM tabela_A, tabela_B; SELECT a.*, b.* FROM tabela_A a, tabela_B b;
  • 24. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta registros em um intervalo de datas: SELECT campos FROM tabela WHERE campo_data BETWEEN data_inicio AND data_fim; SELECT count(*) FROM locacao WHERE data_hora_locacao BETWEEN ’01-04-2011’ AND ’09-04-2011’;
  • 25. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Outras cláusulas interessantes: union intersect except join left join right join full join cross join having distinct
  • 26. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador UNION (união): Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A UNION SELECT * FROM B; O operador UNION retorna os registros selecionados em ambas as consultas, eliminando os registros duplicados:
  • 27. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador UNION ALL: Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A UNION ALL SELECT * FROM B; O operador UNION ALL retorna TODOS os registros selecionados em ambas as consultas, SEM REMOVER os registros duplicados:
  • 28. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador INTERSECT (intersecção): Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A INTERSECT SELECT * FROM B; O operador INTERSECT retorna APENAS os registros comuns em ambas as consultas:
  • 29. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador EXCEPT (exceto): Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A EXCEPT SELECT * FROM B; O operador EXCEPT retorna os registros presentes no primeiro conjunto, MENOS os registros presentes no segundo conjunto:
  • 30. SQL – STRUTURED QUERY LANGUAGE Atualizar dados UPDATE [ ONLY ] tabela [ [ AS ] aliás ] SET { coluna = { expressão | DEFAULT } | ( coluna [, ...] ) = ( { expressão | DEFAULT } [, ...] ) } [, ...] [ FROM lista_do_from ] [ WHERE condição ] [ RETURNING * | expressão_de_saída [ AS nome_de_saída ] [, ...] ]
  • 31. SQL – STRUTURED QUERY LANGUAGE Atualizar dados Alterar dados em uma tabela UPDATE filmes SET ano_lancamento = 2011, faixa_etaria = 1, titulo = 'Rio', observacoes = 'Filme brasileiro', genero = 1, id_tipo = 1 WHERE id_filme = 1;
  • 32. SQL – STRUTURED QUERY LANGUAGE Atualizar dados Alterar dados em uma tabela retornando um campo UPDATE filmes SET ano_lancamento = 2011, faixa_etaria = 1, titulo = 'Rio', observacoes = 'Filme brasileiro', genero = 1, id_tipo = 1 WHERE id_filme = 1 RETURNING id_filme;
  • 33. SQL – STRUTURED QUERY LANGUAGE Exclusão de registros DELETE FROM [ ONLY ] tabela [ [ AS ] aliás ] [ USING lista_do_using ] [ WHERE condição ] [ RETURNING * | expressão_de_saída [ AS nome_de_saída ] [, ...] ]
  • 34. SQL – STRUTURED QUERY LANGUAGE Exclusão de registros Exemplo: DELETE FROM filmes WHERE id_filme = 2;