Buscar

Comando Select SQL

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Comandos Select
SQL
Profa MsC Josyane Lannes Florenzano de Souza
Tipos de Dados
SQL, como outras linguagens, usa identificadores definidos pelo usuário, constantes e palavras-chave (reservadas);
Nomes definidos pelo usuário e palavras reservadas não são sensíveis a maiúsculas e minúsculas.
Tipos de Dados - alguns
CHAR (n) cadeia de caracteres com exatamente n caracteres;
VARCHAR (n) cadeia com até n caracteres;
INT inteiro com sinal;
NUMERIC (p,q) número decimal;
DATE ‘2012-12-25’
TIME ’18:45:00’
TIMESTAMP ‘2012-12-25 18:45:00’
Comando Select
CARACTERÍSTICAS BÁSICAS
database ATP - Tabela Jogadores 
numj
nome
pnome
pais
ano_n
ano_p
cid_n
cid_res
817
Courier
Jim
EUA
1970
1978
Stanford
Orlando
29
Agassi
Andre
EUA
1970
1986
LasVegas
LasVegas
19
Edberg
Stefan
SWE
1966
1983
Vastervik
Londres
16
Bruguera
Sergi
ESP
1971
1988
Barcelona
Barcelona
812
Sampras
Pete
EUA
1971
1988
Washington
Los Angeles
102
Muster
Thomas
AUT
1967
1985
Leibnitz
Monte Carlo
1122
Becker
Boris
GER
1967
1984
Leimen
Monte Carlo
218
Kafelnikov
Yevgeny
RUS
1974
1992
Sochi
Sochi
126
Krajicek
Richard
HOL
1971
1989
Rotterdham
Monte Carlo
910
Kuerten
Gustavo
BRA
1976
1995
Florianopolis
Florianopolis
412
Meligeni
Fernando
BRA
1971
1990
Buenos Aires
São Paulo
Comando Select – Order by
SELECT pnome, nome, ano_n, cid_res
FROM jogadores
Where pais = ‘BRA’
Order by pnome;
Comando Select
SELECT *
FROM jogadores
Comando Select
SELECT ano_n
FROM jogadores
Problema: podem vir anos repetidos!!!
Comando Select
Para eliminarmos os anos repetidos temos que usar na cláusula select a palavra reservada distinct:
SELECT distinct ano_n
FROM jogadores
Comando Select
SELECT distinct cid_res, ano_p
FROM jogadores;
Comando Select
SELECT distinct cid_res 
FROM jogadores;
SELECT distinct ano_p 
FROM jogadores
Order by ano_p;
SELECT distinct ano_p 
FROM jogadores;
Operadores de comparação
=
<>
>
<
>=
<=
Operadores de comparação
Obtenha o nome dos jogadores que se tornaram profissionais com menos de 22 anos:
SELECT nome
FROM jogadores
Where ano_p – ano_n < 22;
Conectores lógicos and, or, not
SELECT nome
FROM jogadores
Where (ano_p – ano_n < 22
and pais=‘BRA’)
Or cid_res = ‘Florianopolis’;
Operador between
(A >= B) and (A <= C) 
Obtenha o nome e o ano de nascimento dos jogadores nascidos entre 1975 e 1981
SELECT nome, ano_n
FROM jogadores
Where ano_n between 1975 and 1981;
Operadores in, not in
Usados para verificar se um valor está contido (ou não) num conjunto de constantes:
Select numj
From jogadores
Where cid_res in (‘Las Vegas’, ‘Monte Carlo’, ‘Los Angeles’);
Exercício
Dê o nome dos jogadores que não moram nem em Las Vegas nem em Los Angeles.
Exercício
Resposta
Dê o nome dos jogadores que não moram nem em Las Vegas nem em Los Angeles.
Select nome
From jogadores
Where cid_res not in (‘Las Vegas’, ‘Los Angeles’)
Operador Like
O Operador like permite fazer um casamento de padrões de cadeias de caracteres:
Select nome
From jogadores
Where nome like ‘B%’; (teste C e K) para o banco Torneio
Obs: obtém os nomes dos jogadores cujo nome começa pela letra B
O símbolo % significa qualquer cadeia com zero ou mais caracteres.
Operador Like
Select nome
From jogadores
Where nome like ‘%n’;
Obs: obtém o nome de cada jogador que termina com a letra n
Operador Like
Select nome
From jogadores
Where nome like ‘%e_’;
Obs: obtém o nome de cada jogador em que o caracter e é a penúltima letra
_ significa exatamente um caractere naquela posição
Operador Like
Se quiser buscar o caractere ‘_’ temos que usar o caractere escape
Select nome
From jogadores
Where nome like ‘%=_%’ escape ‘=‘;
Obs: procura os nomes que possuem o caractere ‘_’
Operador Like
Se quiser buscar o caractere ‘_’ temos que usar o caractere escape
E se nós removermos o comando escape.... O que buscará?
Select nome
From jogadores
Where nome like ‘%=_%’;
Operador Like
Se quiser buscar o caractere ‘_’ temos que usar o caractere escape
E se nós removermos o comando escape.... O que buscará...
Select nome
From jogadores
Where nome like ‘%=_%’ 
Obs: procura os nomes que possuem o símbolo de igual no meio do caracter
Exercícios
Escreva uma consulta para cada jogador cujo nome satisfaz:
Contém a sequencia de letras ‘is’
Possui exatamente 5 caracteres
Possui pelo menos 5 caracteres
Tem a letra ‘a’ como a segunda e penúltima letra
Exercícios
Escreva uma consulta para cada jogador cujo nome satisfaz:
Contém a sequencia de letras ‘is’ (teste er)
Select nome
From jogadores
Where nome like ‘%is%’;
Escreva uma consulta para cada jogador cujo nome satisfaz:
Possui exatamente 5 caracteres (testei 7 caracteres)
Select nome
From jogadores
Where nome like ‘_____’; 
Exercícios
Escreva uma consulta para cada jogador cujo nome satisfaz:
Possui pelo menos 5 caracteres
Select nome
From jogadores
Where nome like ‘%_____%’;
Exercícios
Tem a letra ‘a’ como a segunda e penúltima letra (teste segunda letra u e penultima e)
Select nome
From jogadores
Where nome like ‘_a%a_’; 
database ATP - Tabela Jogadores 
numj
nome
pnome
pais
ano_n
ano_p
cid_n
cid_res
817
Courier
Jim
EUA
1970
1978
Stanford
Orlando
29
Agassi
Andre
EUA
1970
1986
LasVegas
LasVegas
19
Edberg
Stefan
SWE
1966
1983
Vastervik
Londres
16
Bruguera
Sergi
ESP
1971
1988
Barcelona
Barcelona
812
Sampras
Pete
EUA
1971
1988
Washington
Los Angeles
102
Muster
Thomas
AUT
1967
1985
Leibnitz
Monte Carlo
1122
Becker
Boris
GER
1967
1984
Leimen
Monte Carlo
218
Kafelnikov
Yevgeny
RUS
1974
1992
Sochi
Sochi
126
Krajicek
Richard
HOL
1971
1989
Rotterdham
Monte Carlo
910
Kuerten
Gustavo
BRA
1976
1995
Florianopolis
Florianopolis
412
Meligeni
Fernando
BRA
1971
1990
Buenos Aires
São Paulo

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais