Escolar Documentos
Profissional Documentos
Cultura Documentos
AULA 23/03
Comparação:
Para textos:
WILDCARDS
% O ou ∞ caracteres
_ apenas 1 caractere
AULA 30/03
Funções
COUNT
MAX
MIN
SUM
AVG
Paginação:
SELECT *
FROM pokemon
ORDER BY registro
LIMIT 10
OFFSET 10
SELECT *
FROM pokemon
ORDER BY registro
LIMIT 7
OFFSET 91
AULA 06/04
SELECT COLUNAS
FROM TABELA(S)
GROUP BY COLUNA(S)*
LIMIT NUM
OFFSET NUM
Funções:
● Funções de Texto
● Funções Numéricas
● Funções de Data
● Outras funções
Funções de Texto
- CONCAT
- CONCAT_WS
Concatenar com separador (with separator)
- LEFT
RIGHT
Retorna quantos caracteres você quiser do lado esquerdo ou direito
- TRIM
LTRIM
RTRIM
Aparar (ambos os lados), aparar esquerda, aparar direita. Elimina os espaços.
- LENGTH
Mostra quantos caracteres tem.
- REPLACE
Dentro do texto do primeiro parâmetro informado, ele procura todas as ocorrências do
segundo parâmetro e substitui pelo terceiro parâmetro. Faz distinção entre maiúsculos e
minúsculos.
- REPEAT
Repete o texto da coluna a quantidade de vezes que você quiser.
- SUBSTR
Dentro de uma string, pega um trecho e substitui por outra string. No exemplo abaixo,
vai pegar a partir do terceiro caractere e trazer cinco caracteres. O terceiro parâmetro é
opcional.
- INSTR
Retorna a posição da primeira ocorrência do segundo parâmetro.
Exercício:
SELECT upper(left(nick,1)) as nick, concat(repeat(concat('0'),
5-length(capBag)), capBag) as items FROM jogador;
AULA 13/04
Funções Numéricas:
DIV :
Resultado da divisão de 2 números
SELECT 5/2, 5 DIV 2
MOD:
Exibe o resto da divisão 0 e 1
SELECT 5/2, 5 MOD 2
RAND:
Exibe um número aleatório randômico (Usado para sortear coisas aleatórias)
SELECT RAND()
TRUNCATE:
Exibe o resto da divisão 0 e 1
SELECT TRUNCATE(RAND(), 3)
EXERCÍCIOS
Funções de Data
current_date
current_time
current_timestamp
NOW
DAY NAME
DAY OF THE WEEK
DAYOFMONTH
DAYOFYEAR
DATEDIFF
AULA 01/06
SELECT pc.IdPlayer,
c.IdConquista,
c.nome,
c.descricao,
c.icone_url,
c.dificuldade,
pc.progresso
FROM conquista c
LEFT JOIN player_conquista pc ON pc.idConquista = c.idConquista
WHERE c.idConquista IN (1,2,3)
AND pc.idPlayer = 1
SELECT pc.IdPlayer,
c.IdConquista,
c.nome,
c.descricao,
c.icone_url,
c.dificuldade,
pc.progresso
FROM conquista c
LEFT JOIN player_conquista pc ON pc.idConquista = c.idConquista AND pc.idPlayer = 1
WHERE c.idConquista IN (1,2,3)
http://spigo.net/sql_to_json.php
http://spigo.net/pbd/?username=spigo594_aula01&db=spigo594_aula01&select=conquista
SELECT j.nick,
COUNT(0) quantidade
FROM jogador j
INNER JOIN pokedono pd ON pd.idJogador = j.idJogador
GROUP BY pd.idJogador
(se não tiver o group by ele traz mais pokemons, entao tem q estar agrupadas por jogador)
*lembrar que quando usamos count também usamos group by
isso é uma possível questão de prova
SELECT geracao,
MIN(registro) primeiro,
MAX(registro) ultimo
FROM pokemon
GROUP BY geracao
SELECT j.nick,
SUM(i.quantidade) itens
FROM itens_da_bag
INNER JOIN jogador j ON i.idJogador = j.idJogador
GROUP BY idJogador
SELECT j.nick,
SUM(i.quantidade) itens,
j.capBag
FROM itens_da_bag i
INNER JOIN jogador j ON i.idJogador = j.idJogador
GROUP BY i.idJogador
Função de texto
SELECT j.nick,
UPPER(p.nome)
FROM jogador j
INNER JOIN pokedono pd ON j.idJogador = pd.idJogador
INNER JOIN pokemon p ON pd.registro = p.registro
ORDER BY p.registro