Manipular e combinar conjuntos de resultados
Os Joins em T-SQL permite combinar dados de diferentes tabelas numa base de dados do Microsoft SQL Server, mas existem vários operadores que também permitem manipular e combinar conjuntos de resultados de diferentes maneiras.
-
O operador
UNIONé utilizado para combinar os resultados de dois ou mais comandosSELECTnum único conjunto de resultados, eliminando duplicados. -
O operador
UNION ALLfaz o mesmo, mas inclui todas as duplicados, sendo geralmente mais rápido por não realizar a etapa adicional de eliminação de duplicados. -
O operador
CROSS APPLYe oOUTER APPLYsão operadores que se assemelham aosJOINs, mas são utilizados especificamente para combinar uma tabela com o resultado de uma função de valor de tabela ou Table Valued Function (TVF) em inglês. -
O operador
CROSS APPLYfunciona de forma semelhante aoINNER JOIN, devolvido apenas as linhas correspondentes entre a tabela e o Table Valued Function (TVF). -
O operador
OUTER APPLYé similar aoLEFT JOIN, devolvido todas as linhas da tabela, mesmo que não haja correspondência com o Table Valued Function (TVF). -
O operador
EXCEPTdevolve todas as linhas de um conjunto de resultados que não estão presentes no segundo conjunto de resultados, efetivamente subtraindo um conjunto do outro. -
O Operador
INTERSECTdevolve apenas as linhas que são comuns a ambos os conjuntos de resultados, funcionando como uma interseção matemática entre eles.
Cada um desses operadores tem suas particularidades e casos de uso específicos. Por exemplo
Operadores SET
Os operador SET são comandos especiais que permitem modificar o ambiente de execução de uma sessão ou os valores de variáveis de sistema.
Sintaxe básica
<SELECT consulta_1>
<operador_set>
<SELECT consulta_2>
[ORDER BY <lista_de_ordenação>];
Por exemplo o operador UNION é um operador SET que interage com duas consultas.