Banco de dados
• SELECT //
– DISTINCT - elimina registros duplicados – FROM – Informa as tabelas a serem utilizadas – WHERE - (Or, And, Not, like, In, Between, etc> – Informa a seleção de registros a ser feita – GROUP BY - (funções Sum, Avg, Min, Max, Count) – Informa os critérios de agrupamento dos registro – ORDER BY – Informa a ordenação dos registros – HAVING – especifica uma restrição sobre uma consulta agrupada, que resulta de um GROUP BY e elimina grupos que não satisfaçam a condição
1
A Linguagem SQL
• • • • • • • • INSERT UPDATE DELETE CREATE TABLE ALTER TABLE DROP TABLE CREATE INDEX DROP INDEX 2
A Linguagem SQL
• Junções:
– SELECT Docente.nome, AtivGra.* – FROM Docente, AtivGra – WHERE Docente.Colecao=AtivGra.Colecao
LINGUAGEM SQL Consultas
4
3
DML do SQL
• CONSULTAS Forma Geral:
SELECT FROM WHERE
DML do SQL
• CONSULTAS
Recuperação envolvendo mais de uma tabela:
» Nome dos clientes com depósito acima de 1000
SELECT NomeCliente FROM CLIENTE, DEPOSITO WHERE CLIENTE.CodigoCliente = DEPOSITO.CódigoCliente AND DEPOSITO.Valor > 1000
» Todos os clientes de Porto Alegre
SELECT * FROM CLIENTE WHERE Cidade = “POA”
5
Recuperação Simples:
Lembre-se: - Qualificações no SQL
6
1
DML do SQL
• PLANO DE CONSULTAS DO SQL » Considere a expressão SQL a seguir:
PROJECÃO = Estreitamento Vertical SELECT TAB1.Atr1, TAB2.Atr2, TAB2.Atr3 FROM TAB1, TAB2 WHERE TAB1.Atr1 = TAB2.Atr1 AND TAB1.Atr5 > ‘xxx’ ORDER BY TAB2.Atr2, TAB2.Atr3 SELEÇÃO = Estreitamento Horizontal JUNÇÃO = Expansão
7
DML do SQL
• PLANO DE CONSULTAS DO SQL » OTIMIZADOR DE CONSULTAS:
- PRIMEIRO as operações de estreitamento: SELECT, PROJECT - APÓS as operações de expansão: JOIN - Sempre que possível usar os índices definidos: PONTOS DE DETECÇÃO DE ÍNDICES: - Cláusula WHERE para estreitamento horizontal - Cláusula ORDER BY - Lista de atributos para a consulta (Project)
8
DML do SQL
• CONDIÇÕES NA CLÁUSULA WHERE CONDIÇ CLÁ » COMPARAÇÃO: »