Sintaxe e padrões SQL mais usados.
SELECT col1, col2 FROM tabela;Seleciona colunas específicas.SELECT * FROM t WHERE x = 1;Filtra linhas por condição.SELECT DISTINCT col FROM t;Retorna valores únicos.... ORDER BY col DESC;Ordena o resultado.... LIMIT 10 OFFSET 20;Paginação: limite e deslocamento.WHERE col IN (1,2,3) AND x LIKE 'a%'Conjuntos e padrões de texto.INNER JOIN b ON b.a_id = a.idSó linhas com correspondência em ambos.LEFT JOIN b ON b.a_id = a.idTodas de A + correspondentes de B.RIGHT JOIN b ON b.a_id = a.idTodas de B + correspondentes de A.FULL OUTER JOIN b ON ...Todas as linhas de ambos os lados.CROSS JOIN bProduto cartesiano entre A e B.SELF JOIN: a JOIN a a2 ON ...Junta a tabela com ela mesma.COUNT(*), SUM(x), AVG(x)Funções de agregação.MIN(x), MAX(x)Menor e maior valor.GROUP BY colAgrupa linhas por coluna.HAVING COUNT(*) > 1Filtra grupos (pós-agregação).COUNT(DISTINCT col)Conta valores distintos.SUM(x) OVER (PARTITION BY y)Função de janela (window).CREATE TABLE t (id serial PRIMARY KEY, ...)Cria uma tabela.ALTER TABLE t ADD COLUMN c text;Adiciona uma coluna.ALTER TABLE t DROP COLUMN c;Remove uma coluna.DROP TABLE IF EXISTS t;Apaga a tabela se existir.ADD CONSTRAINT fk FOREIGN KEY ...Adiciona chave estrangeira.TRUNCATE TABLE t;Esvazia a tabela rapidamente.INSERT INTO t (a,b) VALUES (1,2);Insere uma linha.ON CONFLICT (id) DO UPDATE SET ...Upsert no Postgres.ON CONFLICT (id) DO NOTHINGIgnora conflitos de chave.UPDATE t SET x = 1 WHERE id = 5;Atualiza linhas filtradas.CREATE INDEX idx ON t (col);Cria índice para acelerar buscas.CREATE UNIQUE INDEX ... ON t (col);Índice único (garante unicidade).