SQL ANSI
SELECT
SELECT <coluna(s)>FROM <tabela>
WHERE <coluna> <operador> <valor>
Operadores de comparação
=
<> ou !=
<
<=
!<
>
>=
!>
Operadores lógicos
AND
SELECT * FROM pessoas WHERE nome='Antonio' AND sobrenome='Passos'
OR
SELECT * FROM pessoas WHERE nome='Antonio' OR sobrenome='Passos'
NOT
SELECT * FROM pessoas WHERE NOT (sobrenome='Passos')
Operadores BETWEEN e NOT BETWEEN
WHERE <coluna> BETWEEN <valor1> AND <valor2>
WHERE <coluna> NOT BETWEEN <valor1> AND <valor2>
Operadores baseados em string de caracteres
LIKE
WHERE <coluna> LIKE <valor>
Operadores
%
SELECT * FROM pessoas WHERE nome LIKE 'A%'
_
SELECT * FROM pessoasWHERE telefone LIKE '3435-____'
NOT LIKE
WHERE <coluna> NOT LIKE <valor>
Operadores baseados em listas
IN
WHERE <coluna> IN <valores>
SELECT * FROM alunosWHERE turma IN ('CC6P30', 'CC7P30', 'SI6P30', 'SI7P30')
NOT IN
WHERE <coluna> NOT IN <valores>
Operadores baseados em valores desconhecidos
IS NULL
WHERE <coluna> IS NULL
IS NOT NULL
WHERE <coluna> IS NOT NULL
ORDER BY
ORDER BY <nome(s)_da(s)_coluna(s)> [ASC/DESC]
ORDER BY <numero(s)_da(s)_coluna(s)> [ASC/DESC]
DISTINCT
SELECT DISTINCT <coluna(s)> FROM <tabela>
GROUP BY
SELECT <coluna>,funcao<coluna>FROM <tabela>GROUP BY <coluna>
SELECT nome, media=AVG(nota)FROM alunosGROUP BY nome
HAVING
SELECT <coluna>,funcao<coluna>FROM <tabela>GROUP BY <coluna>HAVING <codição>
SELECT nome, media=AVG(nota)FROM alunosGROUP BY nomeHAVING (AVG(nota) >=7)
Funções
SELECT função(<coluna>) FROM <tabela>
AVG
COUNT
MAX
MIN
SUM
JOIN
INNER JOIN
SELECT <tabelas.colunas>FROM <tabela1>INNER JOIN <tabela2>ON tabela1.coluna_x = tabela2.coluna_yWHERE <condição>
SELECT clientes.nome, clientes.sobrenomeFROM clientesINNER JOIN pedidosON clientes.id_cliente = pedidos.id_clienteWHERE pedidos.id_produto=1736
CROSS JOIN
SELECT <tabelas.colunas>FROM <tabela1>CROSS JOIN <tabela2>
OUTER JOIN
LEFT OUTER JOIN
SELECT <tabelas.colunas>FROM <tabela1>LEFT OUTER JOIN <tabela2>ON tabela1.coluna_x = tabela2.coluna_y
RIGHT OUTER JOIN
SELECT <tabelas.colunas>FROM <tabela1>RIGHT OUTER JOIN <tabela2>ON tabela1.coluna_x = tabela2.coluna_y
FULL OUTER JOIN
SELECT <tabelas.colunas>FROM <tabela1>FULL OUTER JOIN <tabela2>ON tabela1.coluna_x = tabela2.coluna_y
INSERT
INSERT INTO <tabela> (<coluna1>, <coluna2>, <coluna3>, ...)VALUES (<valor1>, <valor2>, <valor3>, ...)
UPDATE
UPDATE <tabela>SET <coluna1=valor1>, <coluna2=valor2>, <coluna3=valor3>, ...WHERE <condição>
DELETE
DELETE FROM <tabela>WHERE <condição>