SQL : Manual Introducción al lenguaje de consultas parte 8 ( union , intersect , except)

SQL : Manual Introducción al lenguaje de consultas parte 8 

( union , intersect , except)



Objetivos :

  • Describir cada uno de los operadores.
  • Combinar múltiples consultas usando los operadores.
  • Ordenar las filas.

En este capitulo aprenderemos a escribir consultas utilizando los operadores.

Para los ejemplo vamos a utilizar la base de datos CursoSqlDB

Describir  cada uno de los operadores.

Union : esta clausula combina dos consultas en un solo resultado. Debemos de tener en cuenta que ambas consultas deben de tener el mismo numero de campos. Esta clausula es un poco lenta debido a que elimina del resultado todo lo que sea duplicado.

Sintaxis :

SELECT campo1 , campo2 , campo3
FROM   Tabla1

UNION

SELECT campo1 , campo2 , campo3
FROM   Tabla2

Union All : Se aplica igual que el caso de UNION , con la diferencia que en el resultado este no elimina los registros duplicados, por lo que el resultado de esta consulta es mas rapido.

Sintaxis :

SELECT campo1 , campo2 , campo3
FROM   Tabla1

UNION ALL

SELECT campo1 , campo2 , campo3
FROM   Tabla2

Intersect :  Devuelve como resultado los registros que sean igual en ambas consultas.

Sintaxis :

SELECT campo1 , campo2 , campo3
FROM   Tabla1

INTERSECT

SELECT campo1 , campo2 , campo3
FROM   Tabla2

Except : Devuelve como resultado los registros que están en la consulta de la izquierda que no están en la consulta de la derecha. En el ejemplo mas abajo va a mostrar los datos de la tabla1  que no estan en tabla2.

Sintaxis :

SELECT campo1 , campo2 , campo3
FROM   Tabla1

EXCEPT

SELECT campo1 , campo2 , campo3
FROM   Tabla2

Este tipo de operadores es excelente para base de datos que información histórica.

Ordenar las filas.

Para ordenar filas debemos de tener en cuenta que debemos de tener en cuenta que para usar esta clausula es en la consulta después el union.

Ejemplo :

SELECT campo1 , campo2 , campo3
FROM   Tabla1

EXCEPT

SELECT campo1 , campo2 , campo3
FROM   Tabla2
ORDER BY campo1 

Para concluir debemos de tener en cuenta algunas reglas , las cuales son :

  • Debe de tener la misma cantidad de columnas entre consultas.
  • Cada consultas va a tener como separados uno de estos operadores (UNION , INTERSECT, EXCEPT).
  • Los tipos de datos deben de ser "compatibles".
  • Order by se utiliza en la ultima consulta.

Cualquier duda me pueden contactar por esta vía.

Saludos.

Comentarios

Entradas populares de este blog

SQL SERVER : Obtener Objeto Última Fecha de modificación de una tabla

MetroFramework : Aplicaciones de escritorio al estilo metro

Que es LOCALDB?