Referência de SQL
Cada palavra-chave tem uma explicação curta, um exemplo funcional com os dados da loja de prática e os erros mais comuns.
- SELECTEscolha quais colunas ler de uma tabela e em que ordem.
- WHEREMantenha apenas as linhas que atendem a uma condição. Ela roda antes do agrupamento.
- ORDER BYOrdene as linhas do resultado. Sem ele, a ordem não é garantida.
- DISTINCTRemova linhas duplicadas do resultado, para que cada valor ou combinação apareça uma vez.
- LIKECompare texto com um padrão. % representa qualquer sequência de caracteres, _ exatamente um.
- INTeste se um valor está em uma lista. Mais curto que várias condições OR.
- NULLUm valor ausente. Não é zero nem texto vazio, e nunca é igual a nada, nem mesmo a outro NULL.
- COUNT, SUM e AVGFunções de agregação: transformam muitas linhas em um valor, ou em um valor por grupo.
- GROUP BYCrie uma linha de resultado para cada valor distinto (ou combinação de valores) e depois agregue cada grupo.
- HAVINGFiltre grupos depois que forem agregados. WHERE filtra as linhas antes.
- JOIN (INNER e LEFT)Combine linhas de duas tabelas onde uma chave coincide. Um INNER JOIN mantém só as correspondências; um LEFT JOIN mantém todas as linhas da tabela da esquerda.
- INSERT, UPDATE e DELETEAltere os dados: adicione linhas, copie linhas de uma consulta, mude valores em linhas e remova linhas.
- CASEEscolha um valor por linha, dependendo de condições. Funciona como SE e SES no Excel.
- WITH (expressões de tabela comuns)Dê um nome a uma subconsulta com WITH e depois leia-a na consulta principal como se fosse uma tabela.
- EXISTS e NOT EXISTSTeste se uma subconsulta encontra alguma linha. EXISTS é verdadeiro quando encontra; NOT EXISTS é verdadeiro quando não encontra nenhuma.
- ANY e ALLCompare um valor com cada linha que uma subconsulta devolve. ALL significa cada linha; ANY significa pelo menos uma.
- Funções de janela: OVERCalcule sobre linhas sem recolhê-las. OVER define quais linhas considerar, como RANK e totais acumulados no Excel.
- UNION e UNION ALLEmpilhe as linhas de duas consultas em um único resultado. UNION remove repetições; UNION ALL as mantém.
- RIGHT JOIN e FULL JOINUm RIGHT JOIN mantém todas as linhas da tabela da direita. Um FULL JOIN mantém as linhas sem correspondência das duas tabelas.
- Funções de texto e dataUna textos, mude maiúsculas e minúsculas, recorte parte de um valor e subtraia datas para obter dias.
- CREATE TABLE e restriçõesCrie uma nova tabela e defina as regras que os dados dela devem seguir.
- Transações: BEGIN, COMMIT e ROLLBACKUma transação agrupa alterações. COMMIT as mantém; ROLLBACK as desfaz.
- MIN e MAXRetorne o menor ou o maior valor de uma coluna. Funciona com números, datas e texto.
- LAG e LEADFunções de janela que leem um valor da linha anterior (LAG) ou da próxima (LEAD), sem uma autojunção.
- INTERSECT e EXCEPTCombine dois resultados de consulta: mantenha as linhas encontradas em ambos (INTERSECT) ou só na primeira (EXCEPT).
- CAST e ::Converta um valor para outro tipo de dado.
- LIMIT e OFFSETRetorne apenas parte das linhas: as n primeiras, ou uma página que começa depois de m linhas.
- ALTER TABLE, CREATE VIEW e CREATE INDEXAltere a estrutura de uma tabela, salve uma consulta com um nome e acelere as buscas.
- STRING_AGG, FILTER e ROLLUPJunte valores de um grupo em texto, conte por condição e adicione linhas de subtotal.
- ON CONFLICT e RETURNINGInsira uma linha ou atualize a existente (upsert), e receba de volta as linhas que mudaram.