SQL ANSI

SELECT

SELECT <coluna(s)>FROM <tabela>

WHERE <coluna> <operador> <valor>

Operadores de comparação

=

<> ou !=

<

<=

!<

r

Não menor

>

>=

!>

r

Não maior

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')

r

Equivalente ao comando...SELECT * FROM pessoas WHERE 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%'

r

Lista as pessoas cujos nomes começam com 'A'

_

SELECT * FROM pessoasWHERE telefone LIKE '3435-____'

r

Lista as pessoas cujos telefones têm prefixo "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]

r

Número da coluna relativa às colunas da consulta

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

r

Lista nome e média de todos alunos.

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)

r

Lista nome e média dos alunos que obtiveram média igual ou maior a 7.0.

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>