Escolar Documentos
Profissional Documentos
Cultura Documentos
O Console do Google Cloud fornece uma interface gráfica que pode ser usada para criar e
gerenciar recursos do Big Query (Pesquisas) executar consultas SQL.
Comandos
SELEC * <atributos>
IN =
Criar uma tabela com os dados dos institutos Data Folha e ibope do ano 2014: (IN)
(OR)
SELECT *
FROM `basedosdados.br_poder360_pesquisas.microdados`
WHERE (instituto = 'Ibope' or instituto = 'Datafolha') AND ano = 2014
Obs: Usar ‘ ‘ para textos, String = coluna, Puxar mais de uma informação da mesma coluna (or), Sempre separar as
condicionais se não da erro ( )
Ou
SELECT *
FROM `basedosdados.br_poder360_pesquisas.microdados`
WHERE instituto IN ('DataFolha', 'Ibope') AND ano = 2014
Descobrir as siglas dos partidos que apareceram nas consultas de 2014 até agora
SELECT DISTINCT sigla_partido
FROM `basedosdados.br_poder360_pesquisas.microdados`
WHERE ano >= 2014 AND sigla_partido != 'N/A' AND sigla_partido != 'sem partido'
SELECT *
FROM `basedosdados.br_poder360_pesquisas.microdados`
WHERE ano >= 2014 AND ano <=2020
Ou
SELECT *
FROM `basedosdados.br_poder360_pesquisas.microdados`
WHERE ano BETWEEN 2014 AND 2020
Obs: Segunda opção mais simples e puxa os anos de 2014 e 2020 tbm
Ordem Alfabética
SELECT DISTINCT sigla_partido
FROM `basedosdados.br_poder360_pesquisas.microdados`
WHERE ano >= 2014 AND sigla_partido != 'N/A' AND sigla_partido != 'sem partido'
ORDER BY sigla_partido DESC
Obs: Informar o nome da coluna que deseja classificar, DESC = Ordem decrescente
SELECT DISTINCT id_pesquisa, ano, cargo, turno, data_referencia, instituto
FROM `basedosdados.br_poder360_pesquisas.microdados`
WHERE cargo = 'presidente' AND ano = 2018
ORDER BY turno
SELECT DISTINCT nome_candidato, cpf_candidato
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf='BA' AND cargo='governador'
Funções de agregação máximo, mínimo, média e soma (MAX, MIN, AVG e SUM)
Descobrir doações nas eleições de 2018 no estado da Bahia para o cargo de
Governador
SELECT MAX(valor_receita) AS max_valor_receita,
MIN(valor_receita) AS min_valor_receita,
AVG(valor_receita) AS media_valor_receita,
SUM(valor_receita) AS soma_valor_receita,
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf='BA' AND cargo='governador'
SELECT DISTINCT nome_candidato, cpf_candidato
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf='BA' AND cargo='governador'
SELECT MAX(valor_receita) AS max_valor_receita,
MIN(valor_receita) AS min_valor_receita,
AVG(valor_receita) AS media_valor_receita,
SUM(valor_receita) AS soma_valor_receita,
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf='BA' AND cpf_candidato = '23790997587'
SELECT COUNT (DISTINCT cpf_cnpj_doador) AS qtd_doadores
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf='BA' AND cpf_candidato = '23790997587'
SELECT ROUND (AVG (valor_receita), 2) AS media_valor_receita
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf='SP'
Quantos fornecedores o governador Rui Costa teve em 2018, qual foi o Total, valor
máximo e valor mínimo das despesas realizadas
Buscar na base de dados basedosdados.br_tse_eleicoes.despesas_candidato`
SELECT COUNT(DISTINCT cpf_cnpj_fornecedor ) AS qtd_Fornecedores
FROM `basedosdados.br_tse_eleicoes.despesas_candidato`
WHERE ano = 2018 AND sigla_uf='BA' AND cpf_candidato='23790997587'
SELECT MAX(valor_despesa) AS max_valor_despesa,
MIN(valor_despesa) AS min_valor_despesa,
SUM(valor_despesa) AS soma_valor_despesa,
FROM `basedosdados.br_tse_eleicoes.despesas_candidato`
WHERE ano = 2018 AND sigla_uf='BA' AND cpf_candidato='23790997587'
SELECT nome_candidato, COUNT(DISTINCT cpf_cnpj_doador) AS qtd_doadores,
ROUND(SUM(valor_receita), 2) AS receita
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf = 'BA' AND cargo = 'governador'
GROUP BY nome_candidato
HAVING receita > 3000000
ORDER BY receita DESC
Obs: Sempre lembrar de separar as colunas com virgula
Adicionar coluna de classificação, classificar doações acima de R$1.000.000 como
‘Alta’ menores como ‘Baixa’ (CASE) (WHEN) (THEN) (ELSE) (END AS)
SELECT nome_candidato, COUNT(DISTINCT cpf_cnpj_doador) AS qtd_doadores,
ROUND(SUM(valor_receita), 2) AS valor_doado,
CASE WHEN SUM(valor_receita) > 1000000 THEN 'alta'
ELSE 'baixa' END AS receita
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf = 'BA' AND cargo = 'governador'
GROUP BY nome_candidato
ORDER BY valor_doado DESC
Criar uma classificação de acordo com a nota: (<6=Ruim, Entre 6 e 7=+ -, >8 = Ótimo)
(CASE) (WHEN) (THEN) (ELSE) (END AS)
SELECT name,
CASE
WHEN imdb_rating BETWEEN 6 AND 7 THEN '+ -'
WHEN imdb_rating BETWEEN 7 AND 8 THEN 'Bom'
WHEN imdb_rating BETWEEN 8 AND 10 THEN 'Ótimo'
ELSE 'Ruim'
END AS 'Review'
FROM movies;
SELECT nome_candidato, COUNT(DISTINCT cpf_cnpj_doador) AS qtd_doadores,
ROUND(SUM(valor_receita), 2) AS valor_doado,
CASE WHEN SUM(valor_receita) > 1000000 THEN 'alta'
ELSE 'baixa' END AS receita
FROM `basedosdados.br_tse_eleicoes.receitas_candidato`
WHERE ano = 2018 AND sigla_uf = 'BA' AND cargo = 'governador'
GROUP BY nome_candidato
ORDER BY valor_doado DESC
Descobrir quantidade de fornecedores e valor total de despesas dos candidatos a
governador da Bahia em 2018
SELECT nome_candidato,
COUNT (DISTINCT(cpf_cnpj_fornecedor)) AS qtd_fornecedores,
ROUND (SUM(valor_despesa),2) AS valor_total_despesas
FROM `basedosdados.br_tse_eleicoes.despesas_candidato`
WHERE ano = 2018 AND sigla_uf = 'BA' AND cargo ='governador'
GROUP BY nome_candidato
ORDER BY valor_total_despesas DESC
OBS: as tabelas precisam ter alguma informação em comum (nesse caso id_candidato_bd)
SELECT bens.id_candidato_bd, cand.nome, cand.cpf, cand.cargo,
SUM(valor_item) AS valor_bens (Sempre separar colunas com virgula)
FROM `basedosdados.br_tse_eleicoes.bens_candidato` AS bens JOIN `basedosdados.br_tse_eleicoes.candidatos` AS
cand (Renomear tabelas para facilitar)
ON bens.id_candidato_bd = cand.id_candidato_bd (Informar q os dados são =)
WHERE bens.ano = 2018 AND bens.sigla_uf = 'BA' AND cand.ano = 2018 AND cand.cargo='governador'
(Condicionar as infs desejadas por referência)
GROUP BY id_candidato_bd, cand.nome, cand.cpf, cand.cargo (Sempre informar colunas novamente no GROUP
BY)
ORDER BY valor_bens DESC
Obs: Mostra apenas as junções ON que existem nas duas tabelas, todas as demais não aparecem
Alter Join
Obs: Mostra as junções ON que existem nas duas tabelas, e mantem as linhas da Tabela A que não tiveram retorno
(Null)
*Pode ser usado o RIGHT tbm
Existe uma outra variação (OUTER JOIN) ??? (Pesquisar mais sobre o assunto
Chave-Primaria e Estrangeira
Chave Primaria = Identificador que diferencia unicamente cada linha (ID, CPF) (Nome
Completo + Hora de nascimento)
Chave Estrangeira = Exemplo [Tab1 = (CNPJ = 1ª) (CPF = Estrangeira)] (Tab2 = CPF
= 1ª)
CREATE TABLE celebs (id INTERGER, name TEXT, age INTERGER);
SELECT *
FROM celebs;
UPDATE celebs
SET twitter_handle = '@taylorswift13' Obs:Informar a coluna destino = ‘Texto’
WHERE id = 4; Coluna índice: nome da coluna = dado de referência
Tipos de dados
= equal to
!= not equal to
> greater than
< less than
SELECT *
FROM movies
WHERE name LIKE 'Se_en';
começam ‘A%’
terminam ‘%a’
Obs: Usar espaço no final da palavra “man ‘ para não puxar outras informações parecidas
SELECT *
FROM movies
WHERE name LIKE 'The %';
SELECT *
FROM movies
WHERE imdb_rating IS NULL; OBS: IS NULL = Vazias / IS NOT NULL = Ignorar as vazias
- Como selecionar informações entre dois parâmetros (Letras, Datas)
SELECT *
FROM movies
WHERE year BETWEEN ‘D’ AND ‘G’; OBS: Para selecionar ‘F’ usar o segundo parâmetro como
‘G’ (Írá puxar apenas as palavras iniciadas em ‘F’)
SELECT *
FROM movies
WHERE year BETWEEN 1970 AND 1979; OBS: No caso de números é diferente, Seleciona até o
numero que informado
SELECT *
FROM movies
WHERE year < 1985
AND genre = 'horror';
SELECT *
FROM movies
WHERE year > 2014
OR genre = ‘comedy’
OR genre = ‘romance’;