SELECT [atributos]
FROM [tabelas]
WHERE [condições da consulta]
Principais Comandos
Distinct → mostrar os valores possíveis existentes
Exemplo: Saber quantos supervisores diferentes existem
Existem 6 pessoas, sendo 1 supervisionada por A; 2 por B; e 3 por C.
Em uma consulta normal, como abaixo, aparece 6 cpfs, cada um associado a 1 funcionário
SELECT Cpf_supervisor
FROM funcionario
WHERE dnr = 5
Com o distinct, é mostrado apenas os cpfs de diferentes
SELECT distinct Cpf_supervisor
FROM funcionario
WHERE dnr = 5
Ordenação → ordenar as linhas da tabela de consulta de acordo com 1 coluna
-- Ordem crescente - ASC (default)
SELECT salario
FROM funcionario
order by salario
-- Ordem decrescente - DESC
SELECT salario
FROM funcionario
order by salario desc
Ordenação de mais de 1 atributo → ordena de acordo com várias tabelas
-- Ordem crescente -> cada salário em ordem alfabética
SELECT salario, pnome, unome
FROM funcionario
order by salario, pnome
-- cada salário com ordem alfabética invertida
SELECT salario
FROM funcionario
order by salario asc, pnome desc
Substring (LIKE) → consultar por partes da palavra
-- d% -> todos que começa com d
SELECT salario, pnome
FROM funcionario
WHERE pnome LIKE 'd%'
-- %ação -> todos que terminam com ação
SELECT salario, pnome
FROM funcionario
WHERE pnome LIKE '%ação'
-- pela data -> nesse caso de janeiro
SELECT salario, pnome, datanasc
FROM funcionario
WHERE datanasc LIKE '____01__'
IS NULL → consulta retorna os que não possuem
-- não possuem
SELECT pnome, cpf_supervisor
FROM funcionario
WHERE cpf_supervisor IS NULL
IS NOT NULL → consulta retorna os que possuem
-- possuem
SELECT spnome, cpf_supervisor
FROM funcionario
WHERE cpf_supervisor IS NOT NULL
Conjuntos explícitos (Enumerados) → retorna os que estão no conjunto
-- cpfs dee func que trabalha no proj 1, 2 ou 3
SELECT pnr, fsupervisor
FROM trabalha_em
WHERE pnr in (1,2,3)
order by pnr
Operações Aritméticas e Renomear (as) → cria uma coluna temporária com os valores modificados
-- retorna os salarios com 10% de aumento
SELECT pnome, salario, salario**1.1 as aumento_salario
FROM funcionario
Autorrelacionamento → quando está na mesma tabela
SELECT f.pnome as Nome_funcionario, s.nome as Nome_supervisor
FROM funcionario f, funcionario s
WHERE f.cpf_supervisor = s.cpf
Uso do LIMIT → limitar a quantidade de registros que aparecem e quais devem aparecer
SELECT * FROM funcionario LIMIT 5;
-- exibir a partir do 5ª registro, limitando a 3 linhas
SELECT * FROM funcionario LIMIT 5, 3;
0 Comentários