Escolar Documentos
Profissional Documentos
Cultura Documentos
SQL
2
Insert
Exemplo:
INSERT INTO vendedores
VALUES(1, 'JOÃO DIAS', 0);
3
Insert
Insere um novo registro em uma tabela
CREATE TABLE usuario (
id serial NOT NULL PRIMARY KEY,
nm_login character varying
);
Exemplo:
INSERT INTO usuario (nm_login)
VALUES (‘Leandra Ferreira');
4
Update
Atualiza registros em uma tabela.
UPDATE <nome tabela>
SET <nome atributo> = valor
WHERE <condição>
5
Delete
Deleta registros em uma tabela.
DELETE FROM Nome-da-Tabela
WHERE <Condição>
6
Select
Extração de Dados de uma Tabela: Comando SELECT
Estrutura base do SELECT:
SELECT <atributos>
FROM <tabelas>
[WHERE <condição>]
7
Select
Para selecionar registros nas tabelas.
Pode ser usado Distinct - indica se apenas os registros com
valores distintos serão selecionadas ou todos. Ou seja,
elimina as duplicatas.
SELECT [DISTINCT] lista_atributos
FROM tabela;
8
Select
Outro Exemplo:
- buscar as especialidades dos médicos
9
Select
Selecionando registros específicos da tabela com WHERE
SELECT <lista de atributos>
FROM <tabelas>
WHERE (condição)
10
Exemplo:
Nome dos clientes que moram em Santarém
SELECT nome
FROM clientes
WHERE localidade=‘Santarém’;
11
Exemplo:
Listar nome e sexo dos empregados do departamento 15.
SELECT nome, sexo
FROM empregados
WHERE num_Dep = 15;
12
Exemplo:
13
Uso de Alias com As
A cláusula AS permite que as colunas recebam um apelido. Se o
apelido possuir espaços, como na coluna RAZAO_SOCIAL,
deve-se defini-lo entre aspas. A cláusula AS é opcional. O
comando no formato a seguir produz o mesmo resultado:
14
Select com Between e Not Beteween
Operadores BETWEEN e NOT BETWEEN: substituem o uso dos
operadores <= e >=
... WHERE <nome atributo> BETWEEN <valor1> and <valor2>
Exemplo:
Listar os empregados com salário entre R$ 1.000,00 e R$
2.000,00
SELECT *
FROM empregados
WHERE salario BETWEEN 1000 AND 2000;
15
Select com Between e Not Beteween
16
Select com Like, ilike e Not Like
Operadores LIKE, ILIKE e NOT LIKE: busca por padrões. Só se
aplicam sobre atributos do tipo char. Operam como = e <>,
utilizando o símbolo: % (substitui uma palavra).
O ilike é usado para operações case insensitve.
...WHERE <nome atributo> LIKE <valor1>
Obs.: em alguns dialetos SQL, ´*´ é usado invés de ´%´
Exemplo:
Listar os empregados que tem como primeiro nome ‘José’
SELECT nome
FROM empregados
WHERE nome LIKE ‘José%’;
17
Select com Like e Not Like
➢ Buscar RG e nome dos médicos com inicial M
SELECT RG, nome
FROM medicos
18
Select com IN e Not IN
Operadores IN e NOT IN: procuram dados que estão ou não
contidos em um dado conjunto de valores.
... WHERE <nome atributo> IN <valores>
19
Select com IN e Not IN
Buscar os dados das médicos ortopedistas,
traumatologistas e cardiologistas de Florianópolis
SELECT *
FROM medicos
WHERE (cidade = ‘Florianópolis’) AND
(especialidade IN (‘cardiologia’, ‘traumatologia’));
20
Select com Is Null e Is Not Null
Operadores IS NULL e IS NOT NULL: identificam valores nulos
dos atributos.
Exemplo:
21
Select com Order By
Como padrão, uma consulta recupera linhas na mesma ordem em
que ela as encontra na tabela. Para especificar uma ordem na qual
as linhas devem ser retornadas por uma consulta, usa-se a
cláusula ORDER BY no fim do comando SELECT.
22
Select com Order By
Obs.: Cada coluna na cláusula ORDER BY deve também aparecer
na cláusula SELECT no início do comando. Cada coluna pode,
opcionalmente, ser ordenada em ordem ascendente (ASC, o
padrão) ou ordem descendente (DESC). Por exemplo:
23
Select com Order By
• Quando mais de uma coluna é especificado em ORDER BY,
as linhas são ordenadas primeiramente pela primeira coluna.
Depois, as linhas que têm o mesmo valor na primeira coluna,
são ordenadas pela segunda coluna, e assim por diante.
24
Select com Order By
Listar todos os empregados ordenados ascendentemente
por nome.
SELECT *
FROM empregados
ORDER BY nome ASC;
25
Select com cálculo
Realizando cálculo com informação selecionada
Pode-se criar um campo que não pertença à
tabela a partir de cálculos sobre atributos da
tabela
Exemplo:
Mostrar o novo salário dos empregados calculado com
base no reajuste de 60% para os que ganham abaixo de
R$ 1.000,00.
SELECT nome, salario, (salario * 1.60) AS “Novo Salario”
FROM empregados
WHERE salario < 1000;
26
Select com cálculo
Outros Exemplos:
Quantos grupos de 5 leitos podem ser formados em cada
ambulatório?
27
Select com várias tabelas
Recuperando dados de várias tabelas (JOIN)
Deve-se citar as tabelas envolvidas na cláusula FROM e
usar Qualificadores de nomes para referenciar os
atributos. Por exemplo, o nome do empregado deve ser
qualificado como Empregados.Nome
28
Select com várias tabelas
Exemplo:
Listar os nomes dos departamentos que têm projetos
SELECT departamentos.nome
FROM departamentos, projetos
WHERE projetos.num_Dep= departamentos.numero
29
Select com várias tabelas
Exemplo:
Listar o nome dos empregados, com seu respectivo
departamento que trabalhem mais de 20 horas em algum
projeto
SELECT empregados.nome, departamentos.nome
FROM empregados, departamentos, trabalha_em
WHERE (trabalha_em.horas > 20)
AND (trabalha_em.cod_emp = empregados.cod)
AND (empregados.num_dep = departamentos.numero);
30