Inclusão em massa no SQL Server evitando cursores

Estava visualizando as atualizações do Facebook quando vi um post do Diego Nogare com um título que me chamou muita atenção “Edição #44 – Inclusão em massa no SQL Server evitando cursores“, logo, entrei no YouTube para ver o video e gostei muito, com isso, resolvi compartilhar com os seguidores do t-sql, vale muito a pena assistir, o video tem participação do Diego Nogare e quem das as dicas na prática é o Daniel Santos.

Apenas estou compartilhando o video, todos os créditos do mesmo são de:

Daniel Santos e Diego Nogare.

 

Junções (joins) – Cross joins

Logicamente, um cross join é o tipo mais simples de junção. Um cross join implementa somente uma fase de processamento lógico de consulta – um produto cartesiano. Essa fase opera sobre as duas tabelas fornecidas como entradas para junção e produz um produto cartesiano das duas.  Isto é, é feita a correspondência de cada linha de uma entrada com todas as linhas de outra. Assim se você tiver m linhas de uma tabela e n linhas na outra receberá m x n linhas no resultado.

Existem duas maneiras de realizar:

  • SELECT C.CUSTID, E.EMPID

FROM SALES.CUSTOMERS AS C

CROSS JOIN HR.EMPLOYEES  AS E;

  • SELECT C.CUSTID, E.EMPID

FROM  SALES.CUSTOMERS AS C, HR.EMPLOYEES  AS E

Não há nenhum diferença de lógica ou de desempenho entre as duas sintaxes.