Folha de consulta de SQL
As principais instruções SQL para consultar e alterar dados, agrupadas por tarefa. A sintaxe exata varia um pouco entre bancos de dados (PostgreSQL, MySQL, SQLite, SQL Server), mas os fundamentos abaixo são quase universais. Para organizar uma consulta bagunçada, use o formatador de SQL.
Atualizado 2026-07-06
Consultar (SELECT)
| Instrução | O que faz |
|---|---|
| SELECT * FROM t | Retornar todas as colunas e linhas da tabela t |
| SELECT a, b FROM t | Retornar apenas as colunas a e b |
| SELECT DISTINCT a FROM t | Retornar os valores únicos de a |
| ... WHERE a = 5 | Filtrar linhas onde a é igual a 5 |
| ... ORDER BY a DESC | Ordenar por a, decrescente |
| ... LIMIT 10 | Retornar no máximo 10 linhas |
| ... OFFSET 20 | Pular as primeiras 20 linhas (paginação) |
| SELECT COUNT(*) FROM t | Contar linhas |
| SELECT SUM(a), AVG(a) FROM t | Agregado: total e média de a |
| ... GROUP BY category | Agrupar linhas para agregar por categoria |
| ... HAVING COUNT(*) > 5 | Filtrar grupos (WHERE para agregados) |
Filtrar (WHERE)
| Instrução | O que faz |
|---|---|
| WHERE a IN (1, 2, 3) | Corresponder a qualquer valor de uma lista |
| WHERE a BETWEEN 1 AND 9 | Corresponder a um intervalo (inclusive) |
| WHERE name LIKE 'A%' | Correspondência de padrão: começa com A (% = quaisquer caracteres) |
| WHERE name LIKE '_at' | _ corresponde a exatamente um caractere |
| WHERE a IS NULL | Corresponder a linhas onde a não tem valor |
| WHERE a > 5 AND b < 10 | Combinar condições com AND / OR |
Juntar tabelas
| Instrução | O que faz |
|---|---|
| INNER JOIN u ON t.id = u.tid | Linhas com correspondência em ambas as tabelas |
| LEFT JOIN u ON t.id = u.tid | Todas as linhas da tabela da esquerda, com correspondência ou não |
| RIGHT JOIN u ON t.id = u.tid | Todas as linhas da tabela da direita |
| FULL JOIN u ON t.id = u.tid | Todas as linhas de ambas as tabelas |
Alterar dados
| Instrução | O que faz |
|---|---|
| INSERT INTO t (a, b) VALUES (1, 2) | Adicionar uma nova linha |
| UPDATE t SET a = 5 WHERE id = 1 | Alterar linhas existentes (cuidado com o WHERE!) |
| DELETE FROM t WHERE id = 1 | Remover linhas (cuidado com o WHERE!) |
Esquema (tabelas e índices)
| Instrução | O que faz |
|---|---|
| CREATE TABLE t (id INT, name TEXT) | Criar uma nova tabela |
| ALTER TABLE t ADD col TEXT | Adicionar uma coluna |
| DROP TABLE t | Excluir uma tabela e todos os seus dados |
| CREATE INDEX idx ON t (a) | Adicionar um índice para acelerar buscas por a |
Um hábito de segurança que vale manter: escreva a cláusula WHERE de um UPDATE ou DELETE primeiro. Executar um sem WHERE altera ou exclui todas as linhas da tabela.
Ferramentas relacionadas