Buscar

Funções SQL para Análise de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Seminários - III
SQL Funções - 1
Análise e Desenvolvimento de Sistemas
Professor : 
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
SEMINÁRIOS - III
SQL Funções - 1
Modelo utilizado
Modelo utilizado
Funções
COUNT (*) – conta quantos registros estão 
sendo selecionados.
Ex. select count(*) from carro;
select count(*) from modelo where
dir_hid_modelo = ‘s’;
SUM ( ) – soma o conteúdo do campo dos 
registros que estão sendo selecionados;
Ex. select sum(nr_passageiro_modelo) from
modelo;
Max ( ) – identifica o maior valor do campo 
selecionado.
Ex. select Max(dt_ano_carro) from carro;
select max(qt_mala_modelo) from modelo;
Min ( ) – identifica o menor valor do campo 
selecionado.
Ex. select Min(dt_ano_carro) from carro;
select min(qt_mala_modelo) from modelo;
Funções
Funções
Avg ( ) – identifica o valor médio do campo 
selecionado.
Ex. select Avg(dt_ano_carro) from carro;
select avg(qt_mala_modelo) from modelo;
LENGTH ( ) – retorna a quantidade de caracteres na 
string selecionada.
Ex. select Length(nm_cliente), nm_cliente from
cliente;
select length(nm_modelo), nm_modelo from
modelo;
Funções
SUBSTR(X,Y,Z) – retornará a quantidade de Y 
caracteres de X a partir da posição Z.
Ex. select Substr(nm_cliente, 3, 4), nm_cliente from
cliente;
select substr(nm_modelo, 2, 3), nm_modelo
from modelo;
Seminários - III
SQL Funções - 2
Análise e Desenvolvimento de Sistemas
Professor : 
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
SEMINÁRIOS - III
SQL Funções - 2
LOWER ( ) – retorna todos os caracteres em letras 
minúsculas.
Ex. select Lower(id_placa_carro), id_placa_carro
from carro;
UPPER ( ) – retorna todos os caracteres em letras 
maiúsculas.
Ex. select Upper(nm_cliente), nm_cliente from
cliente;
Funções
Funções
INITCAP ( ) – retorna o primeiro carácter de 
qualquer palavra em maiúsculo e o restante dos 
caracteres da palavra em minúsculo.
Ex. select Initcap(nm_modelo), nm_modelo from
modelo;
select initcap(‘aVeNida sAO pauLo’) from dual;
TRIM(X from Y) – retira 1 carácter definido em X a 
esquerda ou a direita de Y.
Ex. select Trim(‘r’ from nm_cliente) from cliente;
select trim(‘o’ from nm_cliente) from cliente;
Funções
LTRIM(X,Y) – retira da string X o valor definido em Y, 
da esquerda para a direita.
Ex. select Ltrim(nm_cliente,’r’), nm_cliente from
cliente;
select ltrim(nm_cor_carro,’pr’), nm_cor_carro
from carro;
RTRIM(X,Y) – igual ao LTRIM só que iniciando da 
direita para a esquerda.
Ex. select Rtrim(nm_cor_carro,’o’), nm_cor_carro
from carro;
LPAD(X,Y,Z) – esta função defini um tamanho de 
retorno Y da string X, se X for menor, completará 
com Z da esquerda para direita, se X for maior, 
cortará os caracteres da direita para esquerda.
Ex. select Lpad(nm_modelo,5,’.’), nm_modelo from
modelo;
select lpad(nm_modelo,8,’#’), nm_modelo from
modelo;
Funções
Funções
RPAD(X,Y,Z) – esta função defini um tamanho de 
retorno Y da string X, se X for menor, completará 
com Z da direita para esquerda, se X for maior, 
cortará os caracteres da direita para esquerda.
Ex. select Rpad(nm_modelo,5,’.’), nm_modelo from
modelo;
select rpad(nm_modelo,8,’#’), nm_modelo from
modelo;
Seminários - III
SQL Funções - 3
Análise e Desenvolvimento de Sistemas
Professor : 
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
SEMINÁRIOS - III
SQL Funções - 3
O SGBD Oracle possui funções específicas para o 
tratamento de campos tipo DATA.
SYSDATE – retorna a data atual do servidor onde 
está instalado o Banco de Dados. GETDATE
Ex. select sysdate from dual;
O SYSDATE aceita adicionar ou subtrair números 
inteiros (equivalentes a dias).
Ex. select sysdate + 1, sysdate, sysdate – 1 from
dual;
Funções de Data
Funções de Data
TO_DATE(X,Y) – converte a string X em data com a 
máscara definida em Y.
Ex. select to_date(‘01/23/2018’,’mm/dd/yyyy’) from
dual;
select to_date(‘2018/06/30’,’yyyy/mm/dd’) from
dual;
ADD_MONTHS(X,Y) – adiciona Y meses sobre a data 
definida em X.
Ex. select add_months(sysdate, 3) from dual;
select add_months
(to_date(‘15/05/2018’,’dd/mm/yyyy’), 6) from dual;
Funções de Data
Funções de Data
MONTHS_BETWEEN(X,Y) – retorna a quantidade de 
meses entre as datas X e Y.
Ex. select months_between (sysdate, sysdate+ 100) 
from dual;
select months_between
(to_date(’01/01/2000’,’dd/mm/yyyy’) , sysdate) from
dual;
select months_between (sysdate, 
to_date(‘01/01/2000’,’dd/mm/yyyy’)) from dual;
NEXT_DAY(X,Y) – retornará o próximo dia da 
semana descrito em Y em relação a data definida 
em X.
Ex. select next_day(sysdate,’domingo’) from dual;
select next_day(sysdate,’sexta-feira’) from dual;
select next_day(sysdate,’segunda’) from dual;
Funções de Data
Funções de Data
LAST_DAY( ) – retorna o último dia do mês.
Ex. select last_day(sysdate) from dual;
select last_day(‘01/01/2018’) from dual;
select last_day(‘2017/12/25’) from dual; (dá erro)
CURRENT_DATE – retorna a data corrente na zona 
de tempo da sessão do usuário.
Ex. select current_date from dual;
select current_date, sysdate from dual;
* importante quando for desenvolver sistemas que 
utilizem fusos horários ou quando o banco de 
dados ficar hospedado em nuvem.
Funções de Data
Seminários - III
SQL - 4
Análise e Desenvolvimento de Sistemas
Professor : 
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
SEMINÁRIOS - III
SQL - 4
* - substitui o nome de todas as colunas de uma 
tabela no comando SELECT.
Ex. select * from cliente;
select * from modelo;
select * from carro;
select * from reserva;
SQL
LIKE – permite a pesquisa dentro de um campo 
string de carácter.
% - quantos caracteres forem necessários.
Ex. select * from cliente where nm_cliente like ‘%’;
select * from cliente where nm_cliente like ‘r%’;
select * from cliente where nm_cliente like ‘%o’;
select * from cliente where nm_cliente like
‘%n%’;
select * from cliente where nm_cliente like ‘r%o’;
SQL
LIKE – permite a pesquisa dentro de um campo 
string de carácter.
_ - 1 carácter apenas.
Ex. select * from cliente where nm_cliente like ‘_’;
select * from cliente where nm_cliente like
‘r_berto’;
select * from cliente where nm_cliente like
‘rober_o’;
select * from cliente where nm_cliente like
‘_nderso_’;
SQL
SQL
select * from cliente where nm_cliente like ‘_o%’;
select * from cliente where nm_cliente like ‘%n_’;
Select * from cliente where nm_cliente like ‘%o%o’;
BETWEEN – entre dois valores;
Ex. select * from cliente where id_cpf_cliente
between ‘33333333333’ and ’66666666666’;
select nm_modelo, qt_mala_modelo from
modelo where qt_mala_modelo between 3 and 6;
SQL
SQL
IN – filtro com lista de valores.
Ex. select * from cliente where id_cpf_cliente IN 
(‘11111111111’, ‘33333333333’, ‘55555555555’);
select * from reserva where id_placa_carro IN 
(‘HND0123’, ‘VWB7125’, ‘FRD5153’);
Seminários - III
SQL - 5
Análise e Desenvolvimento de Sistemas
Professor : 
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
SEMINÁRIOS - III
SQL - 5
CONCAT – concatenar 2 campos apresentando com 
um outro nome.
Ex. select CONCAT(id_placa_carro, 
nm_marca_carro) placa_carro from carro;
select CONCAT (nm_marca_carro, nm_modelo) 
carro_modelo from carro, modelo where
carro.id_modelo = modelo.id_modelo;
SQL
SQL
ORDER BY – classificação do resultado apresentado, 
mas não altera ordem dentro da tabela.Ex. select * from cliente ORDER BY nm_cliente;
select * from cliente order by nm_cliente ASC;
select * from cliente order by nm_cliente DESC;
select * from carro order by nm_cor_carro, 
dt_ano_carro;
select * from carro order by 3,4;
desc carro para ver a ordem dos campos.
SQL
DISTINCT – apresenta somente 1 ocorrência de um 
registro que tenha resultados repetidos.
Ex. select id_cpf_cliente from reserva;
select DISTINCT(id_cpf_cliente) from reserva;
select id_placa_carro from reserva;
select DISTINCT(id_placa_carro) from reserva;
SQL
GROUP BY – seleção de dados por agrupamento de 
campo ou valor ou expressão.
Ex. select count(*), qt_mala_modelo from modelo 
group by qt_mala_modelo;
select count(*), qt_mala_modelo, 
max(qt_mala_modelo), min(qt_mala_modelo) 
from modelo group by qt_mala_modelo;
SQL
HAVING – condição de busca e agrupamento.
Ex. select count(*), qt_mala_modelo, 
max(qt_mala_modelo), min(qt_mala_modelo) from
modelo group by qt_mala_modelo HAVING 
qt_mala_modelo > 5;
select count(*), qt_mala_modelo, 
max(qt_mala_modelo), 
min(qt_mala_modelo), avg(qt_mala_modelo) 
from modelo group by qt_mala_modelo HAVING 
AVG(qt_mala_modelo) > 5;
Seminários - III
SQL View - 5
Análise e Desenvolvimento de Sistemas
Professor : 
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
SEMINÁRIOS - III
SQL VIEW - 6
VIEW é uma tabela virtual baseado no resultado de 
um comando select.
VIEW pode ser criada com apenas alguns campos 
da tabela.
VIEW pode ser criada com apenas algumas linhas 
da tabela.
VIEW pode ser criada com dados de mais de uma 
tabela.
SQL VIEW
SQL VIEW
CREATE VIEW <nome da visão> AS SELECT 
<campos> FROM <tabelas> WHERE <condição>;
Ex. create view CAR1 as select id_placa_carro, 
nm_modelo, nm_marca_carro from carro, modelo 
where carro.id_modelo = modelo.id_modelo;
Desc car1;
Select * from car1;
SQL VIEW
create view CAR2 as select id_placa_carro, 
nm_modelo, nm_marca_carro, nm_cor_carro, 
tp_cambio_modelo from carro, modelo where
carro.id_modelo = modelo.id_modelo and
tp_cambio_modelo = ‘a’;
Desc car2;
Select * from car2;
SQL VIEW
Insert into CAR1 values (‘ABC9876’, ‘sentra’,’nissan’);
Dá erro.
“não é possível modificar uma tabela base através 
de uma view junção”.
SQL VIEW
create view CAR3 as select id_modelo, nm_modelo, 
nr_porta_modelo, dir_hid_modelo from modelo;
Insert into car3 values (6,’sentra’,4,’s’);
Em visões simples, é possível realizar insert.
Tem que verificar campos obrigatórios (notnull).
SQL VIEW
DROP VIEW remove a visão sem afetar as tabelas 
que originaram a visão.
Drop view car1;
Drop view car2;
Drop view car3;

Continue navegando