Pesquisar no Programero

terça-feira, 17 de julho de 2012

O que devemos conhecer sobre SQL/Oracle Parte 12: Utilizando os operadores SET


Descrevendo os operadores SET


Os operadores SET são utilizados para combinar dois ou mais comandos SELECT, onde o resultado depende do operador:

  • UNION combina o resultado de dois comandos SELECT, eliminando registros duplicados;
  • INTERSECT combina o resultado de dois comandos SELECT, mostrando apenas as ocorrências únicas e comuns a ambas as consultas, ignorando tudo o que não aparece nos dois;
  • MINUS pega o resultado do primeiro comando SELECT e subtrai as ocorrências idênticas do segundo;
  • UNION ALL faz o mesmo que o UNION, porém não elimina os registros duplicados;

SELECT COD, NOME FROM FUNCIONARIOS
COD
NOME
1
MARIA
2
ANA
UNION
1
MARIA
2
ANA
3
JOÃO

UNION ALL
1
MARIA
2
ANA
2
ANA
3
JOÃO

SELECT COD, NOME FROM GERENTES
COD
NOME
2
ANA
3
JOÃO
INTERSECT
2
ANA

MINUS
1
MARIA


Para exemplificar o que cada operador produzirá com base em dois comandos SELECT, temos o quadro anterior, onde a primeira coluna indica a consulta e seu resultado e a segunda indica o resultado obtido para cada operador.


Quanto a esses operadores devemos ter em mente o seguinte:

  • Os operadores SET são posicionados entre os comandos SELECT;
  • Os comandos SELECT podem ser simples ou complexos, podem possuir clausulas GROUP BY, WHERE e até subconsultas;
  • A cláusula ORDER BY, se usada, deve ser a ultima clausula do comando;
  • É possível conectar múltiplos comandos SELECT com múltiplos operadores SET;
  • Os operadores SET possuem a mesma precedência;
  • É possível utilizar parênteses para indicar uma precedência;
  • Se uma clausula ORDER BY for usada ela deve ser a ultima, ao final dos comandos SELECT;
  • Múltiplos comandos SELECT conectados pelos operadores SET podem ser ordenados por posição ou referencia;
  • Quando utilizando a clausula ORDER BY, as colunas a serem referenciadas devem ser as colunas do primeiro comando SELECT;


Nenhum comentário:

Postar um comentário

Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.