EXCEPT en SQL Server

admin

August 11, 2011

SQL SERVER

No Comment

EXCEPT

Una característica implementada desde la versión 2005, y una que siempre había estado buscado, una especie de “anti-join”, que en lugar de unir las tablas las separe según ciertos parámetros.
Se puede considerar como la función contraria de UNION, ya que su función es devolver los registros de una consulta que no se encuentran en otra. Automáticamente devuelve los valores distintos.
La sintaxis es la siguiente:

SELECT [Col1], [Col2], ... [ColN]

FROM [Tabla1]

EXCEPT

SELECT [Col1], [Col2], ... [ColN]

FROM [Tabla2]

Ejemplo: Si queremos obtener una lista de productos que no han sido vendidos:

SELECT SKU

FROM Productos

EXCEPT

SELECT SKU

FROM Ventas

EXCEPT, como unión, tiene como regla que las consultas comparadas deben tener el mismo número de columnas y los mismos tipos de datos (o por lo menos, los tipos de datos sean comparables) en el mismo orden.
Y también como UNION, puede ser utilizado con más de dos consultas.

Related Posts

CURRENT_IDENT y RESEED en Sql Server Compact Edition

admin

April 21, 2018

SQL SERVER

No Comment

Sql Server Compact Edition no cuenta con funciones como RESEED o CURRENT_IDENT, así que tenemos que hechar mano de consultas a la información de esquema y de alteración de tablas. Como sustituto a IDENT_CURRENT tenemos: [sql] SELECT AUTOINC_NEXT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ‘MiTabla’ AND COLUMN_NAME = ‘MiColumna’ [/sql] Y como sustituto a RESEED tenemos […]

Read More

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

Leave a Reply

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