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
|
UNION
|
||||||||||||
UNION ALL
|
|||||||||||||
SELECT COD, NOME FROM GERENTES
|
INTERSECT
|
||||||||||||
MINUS
|
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;
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.