INTERSECT en SQL Server

admin

August 11, 2011

SQL SERVER

No Comment

INTERSECT

Esta clausula devuelve los registros que concuerdan entre dos o más consultas comparadas. Automáticamente devuelve los registros distinctos y tal y como UNION y EXCEPT, las consultas comparadas deben tener los mismos números de columnas y los mismos tipos (o tipos comparables) en el mismo orden.
Ejemplo:

SELECT SKU

FROM Productos

INTERSECT

SELECT SKU

FROM Ventas

Claro, el mismo resultado puede ser obtenido mediante JOINS o mediante la cláusula IN, no obstante, si comparamos:

SELECT DISTINCT P.SKU

FROM Productos P

INNER JOIN Ventas V

ON P.Producto_ID = V.Producto_ID

A la consulta con JOIN se le tiene que agregar DISTINCT, y en caso de tener más de una columna, se le tiene que agregar una comparativa por cada columna.

SELECT SKU

FROM Productos

WHERE SKU IN

(

SELECT SKU

FROM Ventas

)

La consulta con la cláusula IN da el mismo resultado, no obstante, IN solo puede comparar columna por columna, mientras que INTERSECT puede comparar registros enteros, renglón por renglon.
En los casos en los que se tenga que comprar mas de una columna, las consultas con JOIN o con IN se volverán más y más complejas, o incluso imposibles de codificar, sobre todo cuando las consultas comparadas contengan JOIN’s, IN’s y otras cláusulas similares.

Related Posts

Conexión a Sql Server con Php 5.6 linux CentOS 6

admin

March 28, 2016

PHP, SQL SERVER

No Comment

Para conectarse a Sql Server desde linux utilizamos este comando para instalar el driver: [bash] $ sudo yum install -y php-mssql [/bash] Por ejemplo, para php5.6: [bash] $ sudo yum install -y php56w-mssql [/bash] Esta instrucción instala freetds, una colección de librerias para conectarnos con Sql Server desde linux. Con esta librería no solo podemos […]

Read More

Scripts de creación de objetos en Sql Server

admin

March 28, 2016

SQL SERVER

No Comment

La manera correcta de crear scripts en Sql Server para la creación de objetos, como tablas, procedimientos almacenados, funciones, restricciones, etc., es la siguiente: Primero, verificar si existe el objeto existe. Si existe, eliminarlo. Posteriormente, crear el objeto. Posteriormente, repetir para los objetos que dependen del que acabamos de crear. **Importante** Establecer siempre la base […]

Read More

Leave a Reply

Your email address will not be published. Required fields are marked *

Busca en el blog aqui

Herramientas Útiles

Suscribete al blog

Recibe en tu correo las últimas publicaciones

Publicidad

Sígueme en Twitter