Guia rápido de SQL orientado à investigação de dados

Apenas para fins de consulta, aqui você tem reunidas as principais ferramentas da linguagem SQL apresentadas neste manual:

WHERE

Define filtros para seus resultados

SELECT votos, can_id
  FROM tb_eleicoes_10_dados
  WHERE
    can_id = 0

LIKE

Permite comparar valores incompletos como partes de números ou palavras

SELECT *
  FROM tb_formato_valor
  WHERE
    fmt_cod LIKE '%40%'

!=

Significa “diferente”

SELECT votos, can_id, tipo, tipo2
  FROM tb_eleicoes_10_dados
  WHERE
    tipo != tipo2

GROUP BY

Agrupa os resultados de acordo com um campo escolhido. Pode ser combinado com as funções SUM e COUNT

SELECT ano, inst, COUNT(inst)
  FROM candidatos
  WHERE
    (ano = '2010'
      and turno = '1')
  GROUP BY inst

SUM

Soma os valores de um campo em todas as linhas selecionadas. É frequentemente usado com GROUP BY

SELECT SUM(votos), cargo
  FROM tb_eleicoes_10_dados
  WHERE
    (tipo = '4'
      or tipo = '3')
    and turno = '1'
  GROUP BY cargo

COUNT

Conta o número de vezes em que determinado campo aparece nos dados resultantes da query, independentemente dos valores contidos. Assim como o SUM, ele ganha eficácia com GROUP BY

SELECT ano, inst, COUNT(inst)
  FROM candidatos
  WHERE
    (ano = '2010'
      and turno = '1')
    GROUP BY inst

LIMIT

Limita o número de linhas que pode ser retornado por uma query. Serve para evitar sobrecarga em casos de querys com muitos resultados ou muito complexas, como JOIN

SELECT *
  FROM candidatos
  WHERE
    ano = '2010'
    and turno = '1'
  LIMIT 100

RIGHT JOIN / LEFT JOIN

Emenda tabelas baseado em uma condição determinada após a expressão ON. Pode ser repetido dentro de uma mesma query para unir mais de duas tabelas

SELECT candidatos.*, tb_eleicoes_10_dados.votos
  FROM tb_eleicoes_10_dados
  RIGHT JOIN
    candidatos ON candidatos.can_id = tb_eleicoes_10_dados.can_id
  WHERE
    candidatos.ano = '2010'
    and tb_eleicoes_10_dados.votos != 'NULL'
  LIMIT 100