Cómo utilizar el operador de unión sql

Video: UNION | SQL Server # 21

los UNIÓN operador es la implementación de SQL del operador de unión del álgebra relacional. los UNIÓN operador le permite obtener información de dos o más tablas que tienen la misma estructura. misma estructura medio

  • Todas las tablas deben tener el mismo número de columnas.

    Video: Curso SQL Server - 23. Cláusula UNION para unir consultas | UskoKruM2010

  • Todas las columnas correspondientes deben tener tipos y longitudes de datos idénticos.

Cuando se cumplen estos criterios, las mesas están Unión-compatibles: La unión de las dos tablas devuelve todas las filas que aparecen en cualquiera de las tablas y elimina los duplicados.

Video: TUTORIAL SQL operador LIKE con MySql Workbench

Supongamos que crea una base de datos de béisbol-estadísticas. Contiene dos mesas con capacidad para un sindicato nombrados Americana y Nacional. Ambas tablas tienen tres columnas, y las columnas correspondientes son todos del mismo tipo. De hecho, las columnas correspondientes tienen nombres de columna idénticos (aunque no se requiere esta condición para la compatibilidad de la unión).

NACIONAL enumera los nombres de los jugadores y el número de juegos completos de tono por lanzadores de la Liga Nacional. AMERICAN enumera la misma información acerca de los lanzadores de la Liga Americana. los UNIÓN de las dos tablas que da una tabla de resultados virtual que contiene todas las filas de la primera tabla, además de todas las filas de la segunda tabla. Para este ejemplo, unas pocas filas se pusieron en cada tabla para ilustrar la operación de:

SELECT * FROM -FirstName NACIONAL Apellido CompleteGames --------- -------- ------------- Sal Maglie 11Don Newcombe9Sandy Koufax 13Don Drysdale12SELECT * FROM AMERICAN -FirstName Apellido CompleteGames --------- -------- ------------- Whitey Ford 12Don Larson 10Bob Turley 8Allie Reynolds14SELECT * * DE NATIONALUNIonselect de American -FirstName Apellido CompleteGames --------- -------- ------------- Allie Reynolds14Bob Turley 8Don Drysdale12Don Larson 10Don Newcombe9Sal Maglie 11Sandy Koufax 13Whitey Ford 12

los UNION DISTINCT funciones de operador de forma idéntica a la UNIÓN operador sin la DISTINTO palabra clave. En ambos casos, las filas duplicadas se eliminan del conjunto de resultados.

El asterisco (*) Se puede utilizar como forma abreviada de todas las columnas de una tabla. Este acceso directo es bien la mayor parte del tiempo, pero puede tener problemas cuando se utiliza operadores relacionales en SQL embebido o módulo de lengua.

Si se agrega una o más nuevas columnas a una tabla y no a otro, o de agregar diferentes columnas de las dos tablas, las dos mesas ya no son compatibles sindicato - y su programa no será válida la próxima vez que se vuelve a compilar.

Incluso si las mismas columnas nuevas se añaden a ambas tablas para que estén siendo compatible sindicato, su programa es, probablemente, no está preparado para hacer frente a los datos adicionales. Se deben poner las columnas que desea, en lugar de confiar en el * taquigrafía. Cuando usted está entrando en consultas ad hoc de SQL desde la consola, el asterisco funciona bien, porque se puede mostrar rápidamente una estructura de tabla para verificar la compatibilidad de la unión si las consultas no tienen éxito.

La operación UNION ALL

los UNIÓN la operación usualmente elimina las filas duplicadas que resultan de su funcionamiento, que es el resultado deseado la mayor parte del tiempo. A veces, sin embargo, es posible que desee conservar las filas duplicadas. En esas ocasiones, el uso UNION ALL.

Video: Función SUM() & COUNT() - operador UNION (T-SQL)

Con referencia al ejemplo, supongamos que “Bullet” Bob Turley había sido cambiado a mitad de temporada de los Yankees de Nueva York en la Liga Americana a los Dodgers de Brooklyn en la Liga Nacional. Supongamos ahora que durante la temporada, lanzó ocho juegos completos para cada equipo.

Lo ordinario UNIÓN que se muestra en el ejemplo de tira a la basura una de las dos líneas que contienen los datos de Turley. A pesar de que parecía lanzar sólo 8 juegos completos en la temporada, que en realidad arrojó un notable 16 juegos completos. La siguiente consulta le da los hechos reales:

SELECT * FROM NATIONALUNION ALLSELECT * DE AMÉRICA -

A veces se puede formar una UNIÓN de dos tablas, incluso si no son compatibles sindicato. Si las columnas que desea en su tabla de resultados están presentes y compatible en ambas tablas, se puede realizar una UNION CORRESPONDIENTES operación. Sólo se consideran las columnas especificadas - y son las únicas columnas que se muestran en la tabla de resultados.

La operación correspondiente

los estadísticos de béisbol mantienen diferentes estadísticas sobre los lanzadores que se mantienen en los jardineros. En ambos casos, los primeros nombres, apellidos, outs, errores, y los porcentajes de fildeo se registran. Jardineros no tienen un / registro perdido won, un guarda registro, o una serie de otras estadísticas que se refieren a lanzar. Todavía se puede realizar una UNIÓN que toma los datos de la tabla JARDINERO y de la mesa lanzador a darle información acerca de la habilidad defensiva:

SELECT * FROM OUTFIELDERUNION correspondiente (Nombre, Apellido, Putouts, Errores, FieldPct) SELECT * FROM jarra -

La tabla de resultados contiene los nombres y apellidos de todos los jardineros y lanzadores, junto con la outs, los errores, y el porcentaje de fildeo de cada jugador. Al igual que con la sencilla UNIÓN, duplicados se eliminan. Por lo tanto, si un jugador pasó algún tiempo en los jardines y también lanzado en uno o más juegos, el UNION CORRESPONDIENTES operación pierde parte de sus estadísticas. Para evitar este problema, utilice Todo ello correspondiente UNIÓN.

Cada nombre de columna en la lista después de la CORRESPONDIENTE palabra clave debe ser un nombre que existe en ambas tablas sindicato unido. Si se omite esta lista de nombres, se utiliza una lista implícita de todos los nombres que aparecen en ambas tablas. Pero esta lista implícita de nombres puede cambiar cuando se añaden nuevas columnas a las tablas. Por lo tanto es mejor tener que incluir los nombres de las columnas que se les omitiendo.

Artículos Relacionados