DQL - Linguagem de Consulta de Dados

A linguagem de Consulta de Dados, ou DQL, um subconjunto da SQL que permite buscar e recuperar dados de um banco de dados relacional, principalmente através do comando SELECT. Sua função é extrair informações específicas ou um intervalo de dados de tabelas, agindo como uma interface para que aplicações e usuários possam interagir e gerenciar dados em sistemas de gerenciamento de banco de dados. 

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;

Referências

"Sistemas de Banco de Dados", 6ª Edição. Autores: Ramez Elmasri e Shamkant Navathe

Slides da Profa. Roberta Gouveia.

Postar um comentário

0 Comentários