Contactos

Utilizando unión en SQL. Unión y sindicato todo en SQL - Descripción y ejemplos para organizar solicitudes con sindicato Unión

Es hora de hablar de combinar datos por medio de la construcción. unión y unión todo.Dado que esto es a veces muy útil, y sin usar dicho diseño, a veces no puedes hacerlo. Los ejemplos se escribirán en la DBMS. MSSQL 2008.Utilizando el idioma SQL.

Y me gustaría comenzar con el hecho de que ya hemos considerado muchos ejemplos de solicitudes de escritura de SqlPor ejemplo, el operador de SQL Select, o el uso de funciones de cadena SQL, también consideradas programando tanto en PLPGSQL como en Transact-SQL, por ejemplo, cómo escribir una función en PL / PGSQL y TRANSACT-SQL - Funciones tabulares y temporales Mesas, respectivamente.

No solo indicaba los artículos mencionados anteriormente, pero los señalé, porque para una mejor comprensión y aprendizaje de la lección de hoy, necesita conocimientos iniciales (este es un sitio para programadores novatos), que puede obtener de lo mencionado anteriormente. material.

Y así se dobla. Y para empezar, veamos qué es la cebolla y la unión a todos los operadores.

¿Qué es un sindicato y sindicato en SQL?

  • Unión - Esta es una declaración SQL para combinar el conjunto de datos resultante de múltiples solicitudes, y este operador muestra solo líneas únicas en consultas, es decir, Por ejemplo, combina dos solicitudes y en cada una de las cuales tienen los mismos datos, en otras palabras, son completamente idénticos, y el operador de la Unión los unirá en una sola línea para no ser una doble;
  • Unión todo. - Esta es una declaración SQL para combinar el conjunto de datos resultante de varias solicitudes, y este operador ya conlizará absolutamente todas las líneas, incluso duplicar.

Condiciones requeridas para los operadores Unión y sindicato Todos

  1. El conjunto de campos debe ser mismo En todas las solicitudes, es decir,. El número de campos en cada solicitud, que se combinará por medio del diseño de la Unión o la Unión, debe ser el mismo;
  2. Tipos de datos Los campos también deben coincidir en cada solicitud, es decir, Por ejemplo, si desea escribir una sola solicitud, en la que habrá un tipo de datos INTA y en la segunda consulta, el tipo de datos VARCHAR, no recibirá una solicitud y la ventana de solicitud desactive un error;
  3. En caso de clasificar al operador. ordenar por. Solo puedes especificar después de la última solicitud.

Ahora hablemos de qué casos necesitamos usar a estos operadores. Bueno, por ejemplo, tiene varias bases de datos con una estructura similar, cada una de las cuales se ha creado, por ejemplo, para cualquier sucursal, y debe combinar estos datos para proporcionar informes sobre todas las sucursales a la administración y lo más sencillo como pueda Se haga, es posible escribir solicitudes en SQL, cada una de las cuales accederá a diferentes bases, y a través del diseño de la Unión o Unión de Alion para combinarlos. A veces, a veces, es necesario combinar los datos en una base de datos de tal manera que no podamos implementar las asociaciones habituales y tener que usar unión. Por qué digo "Necesario" Sí, porque este diseño aumenta significativamente el tiempo de ejecución de la consulta, si esas muchos datos son mucho, y no es necesario abusar de ella.

Suficiente teoría, vaya a la práctica.

¡Nota! Como ya se mencionó, escribirá solicitudes en Administration Studio para SQL Server 2008

Ejemplos de uso de unión y sindicato.

Para empezar, creando dos tablas simples test_table y test_table_2.

Crea Tabla (Identidad (1,1) No nula, (18, 0) NULL, (50) Tecla primaria de restricción NULL, (50) Conjunto (ASC) con (PAD_INDEX \u003d OFF, Statistics_Norecompute \u003d OFF, IGNORE_DUP_KEY \u003d OFF, Permitir_row_locks \u003d ON, Permitir_page_locks \u003d ON) ON SET SET ANSI_PADDING OFF GO - Y la segunda tabla Crear tabla (Identidad (1,1) No nula, (18, 0) NULL, (50) NULLIR TECLA PRIMARIA DE RESTRICCIÓN (ASC) con (PAD_INDEX \u003d OFF , Statistics_Norecompute \u003d OFF, IGNORE_DUP_KEY \u003d OFF, Permitir_row_locks \u003d ON, Permitir_page_locks \u003d ON) ON SET ANSI_PADDING OFF GO

Son idénticos, por ejemplo, solo diferentes nombres. Lléqué con tales datos:

Ahora vamos a escribir una solicitud que combine los datos resultantes en uno, por ejemplo, a través de la unión. La sintaxis es muy simple:

Solicitud 1 Solicitud de la Unión 2 Consulta de la Unión 3, etc.

Aquí hay una consulta:

Seleccione Número, texto de Test_Table Union Select Number, texto de test_table_2

Como puede ver, solo se han nacido 5 líneas, ya que tenemos la primera línea en la primera solicitud y la primera línea en la segunda solicitud es la misma, por lo que se combinaron.

Ahora vamos a fusionar a través de la Unión todo

Aquí hay una consulta:

Seleccione Número, texto de Test_Table Union All Select Number, Text from test_table_2

Todas las líneas ya han sido presentadas aquí, ya que hemos especificado un sindicato todo.

Y ahora veamos qué errores pueden ser incluso en esta sencilla consulta. Por ejemplo, confundimos la secuencia de campos:

O indicamos un campo adicional en la primera solicitud, y en el segundo no se hizo.

Además, por ejemplo, al usar el orden por:

Aquí indicamos la clasificación en cada solicitud, y fue necesario solo en este último, por ejemplo:

Seleccione Número, texto de Test_Table Union All Seleccionar número, texto de Test_table_2 Pedido por número

Y, finalmente, quería contarle sobre un truco, que se puede usar cuando, por ejemplo, todavía es necesario emitir algún campo en una sola solicitud, y no hay otra opción en otros o no es necesario, para esto, puede escribir Esta petición:

Seleccione ID, número, texto de Test_Table Union Toda la Selección ", número, texto de Test_table_2

esos. Como se ve simplemente donde el campo debe estar vacío y la solicitud funcionará perfectamente bien, por ejemplo:

Probablemente todo lo que quería contar sobre el diseño. unión y sindicato Todos los idiomas SQL Le dije si hay preguntas sobre el uso de estos operadores, pregúnteles en los comentarios. ¡Buena suerte!

El operador para trabajar con conjuntos de datos de unión combina los conjuntos resultantes de dos o más solicitudes y muestra todas las filas de todas las solicitudes como un conjunto de resultados.

Unión se refiere a la clase de operadores para trabajar con conjuntos de datos (establecidos operador). Otros operadores de este tipo incluyen intersect y ECCERT (ECCERT y menos son equivalentes funcionales, pero el ECTRT se incluye en ANSI / Todos los operadores para los conjuntos de datos se utilizan para manipular simultáneamente los conjuntos resultantes de dos o más solicitudes, desde aquí y su nombre.

Sintaxis s0l2003

Las restricciones técnicas sobre el número de solicitudes en la declaración de la Unión no existen. La sintaxis general es la siguiente.

Unión

Unión

Indicio

Unión

Indica que los kits resultantes se combinarán en un conjunto de resultados. Los duplicados de las cadenas se eliminan de forma predeterminada.

Todas.

Se combinan duplicados de líneas de todos los conjuntos resultantes.

Distinto.

Las filas duplicadas se eliminan del conjunto resultante. Las columnas que contienen valores nulos se consideran duplicados. (Si no se usan las palabras clave y distintas, se recibe DISABLET, por defecto.)

Reglas generales

Solo hay una regla importante que debe recordarse al utilizar el operador de la Unión: Orden, el número y el tipo de datos de las columnas deben ser idénticos en todas las solicitudes.

Los tipos de datos no deben ser idénticos, pero deben ser compatibles. Por ejemplo, los tipos de char y varchar son compatibles. De forma predeterminada, el tratamiento resultante utiliza el tamaño del mayor de los tipos compatibles, y en la consulta en la que se combinan tres columnas tipo char-char (5), char (IO) y char (12), los resultados estarán en char Formato (12), y en columnas Menos tamaño agregará espacios adicionales.

Aunque de acuerdo con la norma ANSI, la declaración de intersección tiene una prioridad más alta en comparación con otros operadores para trabajar con los conjuntos, en muchas plataformas, estos operadores son tratados con la misma prioridad. Puede gestionar explícitamente la prioridad de los operadores que utilizan paréntesis. De lo contrario, es probable que los DBMS los realicen en orden de izquierda a derecha.

La propuesta distinta puede (dependiendo de la plataforma) requieren costos de rendimiento significativos, ya que a menudo requiere un pasaje adicional por el conjunto resultante para eliminar los registros duplicados. Toda la propuesta para aumentar la productividad se puede especificar en todos los casos cuando no se esperan duplicados (o si se permiten duplicados).

Según la norma ANSI, solo se puede utilizar un pedido por oferta. Póngalo al final de la última declaración de selección. Para evitar la ambigüedad al especificar columnas y tablas, asegúrese de asignar el seudónimo correspondiente a todas las columnas. Sin embargo, al especificar nombres de columnas en la solicitud Seleccionar ... Solicitud de la Unión, solo se utiliza un seudónimo de la primera solicitud. Por ejemplo:

Seleccione AU_LNAME COMO FIRSTNAME DE AUTORIOS UNION SELECT EMP_LNAME COMO PRIMERNAME DESDE EL PEDIDO DE EMPLEADOS POR LOTENAME, FIRSTNAME; SEELTNAME FRM

Además, dado que las consultas del operador de la Unión pueden contener columnas con tipos de datos compatibles, pueden ser posibles variaciones de comportamiento de código en diferentes plataformas, especialmente en términos de la longitud del tipo de tipo de datos de la columna. Por ejemplo, si la columna AU_FNAME es notablemente más larga que la columna EMPLNAME de la segunda consulta, entonces diferentes plataformas pueden aplicar diferentes reglas para determinar la longitud utilizada. Sin embargo, como regla general, la plataforma se selecciona para el tipo de datos más largos (y menos limitados).

Cada Surbd puede aplicar sus propias reglas para determinar el nombre de la columna si las columnas en diferentes tablas tienen nombres diferentes. Como regla general, se utilizan nombres de la primera solicitud.

DB2.

La plataforma DB2 admite las palabras clave sindicato y la unión de toda la norma ANSI más el valor de los valores.

[, (Expression-!, Expression2, ...)]] [...]

Le permite especificar uno o más conjuntos de valores definidos manualmente para las entradas en el conjunto resultante combinado. Cada uno de estos valores debe contener exactamente el mismo número de columnas que en las consultas del operador de la Unión. Las filas de valores en el conjunto resultante están separadas por comas.

Aunque la oferta distinta de la Unión no es compatible, el equivalente funcional es la propuesta de la Unión. La oferta correspondiente no es compatible.

Con un sindicato de palabras clave, no puede usar tipos de datos, como VarChar, larga variedad, blob, clob, dbclob, dataink y tipos estructurales (pero se pueden usar con la oferta de la Unión.

Si todas las tablas usan un nombre de la columna, este nombre se usa en el conjunto resultante. Si los nombres de las columnas difieren, DB2 genera un nuevo nombre de columna. Después de eso, esta columna no se puede utilizar en orden por, o para actualizar.

Si se utilizan varios operadores en una consulta para conjuntos de datos, se realizan aquellos que se envíen entre paréntesis. Después de eso, los operadores se realizan en orden de izquierda a derecha. Sin embargo, todas las operaciones de intersección se realizan antes de las operaciones de la Unión o ECTRT. Por ejemplo:

Seleccione Empno de Empleado donde se trabaja "E%" Union Seleccione Empno de EMP_ACT donde ProjNO en ("IF1000", "IF2000", "AD3110") Valores de la Unión ("AA0001), (AB0002"), ("AC0003") )

En este ejemplo, obtenemos toda la identificación de los empleados de la tabla de empleados, que consiste en cualquier departamento, con el nombre que comienza con "E", así como la ID de todos los empleados de la tabla de contabilidad EMP_ACT que funciona en los proyectos IF1000, "IF2000", y "AD3110". Además, la identificación de los empleados "AA000T," AV0002 ", y" AC00031 siempre se incluyen.

Mysql

No soportado.

Oráculo

La plataforma de Oracle es compatible con la Unión de palabras clave y la norma SQL ANSI de SQL ANSI. La sintaxis es la siguiente.

Oracle no admite la propuesta correspondiente. Ofrecer unión distinta no. Apoyado, pero el equivalente funcional es la propuesta de la Unión. La plataforma de Oracle no admite el uso de las ofertas de Union Alion en las siguientes situaciones.

Si la primera solicitud en la declaración contiene cualquier expresión en la lista de elementos, luego asigne una columna seudónimo usando la propuesta AS. Además, solo la última solicitud en el operador puede contener el pedido por oferta. Por ejemplo, puede obtener todos los identificadores de tienda únicos (Store_ID), sin duplicados utilizando la siguiente solicitud.

SELECT STOR_ID de Tiendas Union Select Stor_ID de las ventas;

Postgresql

La plataforma PostgreSQL admite las palabras clave de la Unión y la Unión estándar ANSI Sintaxis.

instrucciones select 2 union

La plataforma PostgreSQL no admite el uso de la Unión y la Unión todas las propuestas en consultas con para la actualización. PostgreSQL no admite la propuesta correspondiente. La oferta distinta de la Unión no es compatible, el equivalente funcional es la propuesta de la Unión.

La primera solicitud en el operador no puede contener orden o límite de ofertas. Las solicitudes posteriores con la Unión y la Unión Todas las ofertas pueden contener estas propuestas, pero dichas solicitudes deben incluirse en los paréntesis. De lo contrario, el pedido por o límite de oferta a la derecha de la derecha se aplicará a toda la operación.

Seleccione A.AU_LNAME de los autores como un a.au_lnanie como "p%" uni0n Seleccione E.LNAME de Empleado como E donde E.lname como "p%";

servidor SQL

La plataforma SQL Server admite las palabras clave sindicación y sindicato. Toda la sintaxis de ANSI estándar.

instrucción Seleccione 1 Unión

instrucciones select 2 union

SQL Server no admite la propuesta correspondiente. La oferta distinta de la Unión no es compatible, pero el equivalente funcional es la propuesta de la Unión.

Con las ofertas de la Unión y la Unión, puede usar la declaración Select ... en la palabra clave, pero la palabra clave debe estar en la primera solicitud del operador de la Unión. Las palabras clave especiales, como SELECT TOR y el grupo por ... con CUBE, se pueden usar en todas las consultas sindicales. Sin embargo, asegúrese de incluir estas propuestas en todas las solicitudes de asociación. Si usa SELECT TOR o GROUP BY ... con CUBE en una consulta, la operación no se ejecutará.

Todas las solicitudes en la Unión deben contener el mismo número de columnas. Los tipos de columnas de datos no tienen que ser idénticas, pero deben darse implícitamente entre sí. Por ejemplo, se permite el intercambio de columnas de char y varchar. Cuando se muestran los datos del servidor SQL al determinar el tipo de tipo de datos, el tamaño de la columna más grande utiliza el tamaño del conjunto de resultados. Por lo tanto, si el manual Select ... Union Manual utiliza las columnas de char (5) y char (IO), los datos de ambas columnas se mostrarán en la columna Char (IO). Se proporcionan tipos de datos numéricos y se muestran como el tipo de precisión más alto.

Por ejemplo, la siguiente consulta combina los resultados de dos solicitudes independientes utilizando el grupo por ... con ... con Cube.

En la mayoría Consultas de SQL Se utiliza un operador, que se devuelve de una o más tablas. Sql También le permite realizar simultáneamente varias consultas separadas y mostrar el resultado como un único conjunto de datos. Tales solicitudes combinadas se llaman generalmente Combinaciones o Solicitudes complejas.

1. Usando el operador de la Unión

Solicitudes en idioma Sql Combinado utilizando el operador Unión. Para hacer esto, debe especificar cada solicitud. SELECCIONE y coloque una palabra clave entre ellos Unión. Restricciones en el número de operador utilizado Unión No hay petición en una solicitud general. En la sección anterior, señalamos que Acceso no tiene la capacidad de crear Asociación externa completa, Ahora veremos cómo se puede lograr a través del operador. Unión.

SELECCIONE *
De SumProduct se une a los vendedores en SumProduct.City \u003d Sellers.city
Unión
SELECCIONE *

Desde SumProduct, unirse a los vendedores en SumProduct.city \u003d Sellers.city

Vemos que la solicitud desplazó tanto las columnas de la primera tabla, y por la otra, independientemente de si todos los registros tienen conformidad en otra tabla.

También vale la pena señalar que, en muchos casos, en su lugar. Unión Podemos usar la oferta. Dónde Con muchas condiciones, y recibir un resultado similar. Sin embargo, debido a Unión Los registros se ven más lacónicos y comprensibles. También es necesario cumplir con ciertas reglas al escribir consultas combinadas:

  • consulta Unión debe incluir dos o más operadores SELECCIONEseparado por una palabra clave Unión (es decir, si la consulta usa cuatro afirmaciones seleccionadas, debe haber tres palabras clave de unión)
  • cada solicitud en el operador. Unión Debe tener las mismas columnas, expresiones o funciones estadísticas, que, además, deben aparecer en el mismo orden
  • los tipos de columnas deben ser compatibles. No tienen que ser un tipo, pero deben tener un tipo similar a Dbms Definitivamente podría convertirlos (por ejemplo, pueden ser varios tipos de datos numéricos o varias fechas).

2. Encienda o desactiva las líneas de repetición

Peticiones. Unión Borra automáticamente todas las líneas repetitivas del conjunto de resultados de consulta (es decir, se comporta como sugerencias Dónde Con múltiples condiciones en un operador. SELECCIONE). Tal comportamiento del operador Unión Por defecto, pero si lo desea, podemos cambiarlo. Para hacer esto, deberíamos usar el operador. Unión todo. en lugar de Unión.

3. Ordenar los resultados de las consultas combinadas.

Los resultados de la ejecución del operador. SELECCIONE ordenado por la oferta Ordenar por.. Al combinar solicitudes con Unión Solo una oración Ordenar por. Se puede utilizar y debe ser puesto en el último operador. SELECCIONE. De hecho, en la práctica no existe un sentido particular de una parte de los resultados para ordenar en un orden, y la otra parte está en la otra. Por lo tanto, varias oraciones Ordenar por. No está permitido aplicar.

El operador de SQL Union combina el resultado de dos o más aplicaciones para seleccionar.

Operador de SQL Union

El operador de la Unión se utiliza para combinar los muchos resultados de dos o más aplicaciones para seleccionar.

Tenga en cuenta que cada operador supedero dentro de la Unión debe tener el mismo número de columnas. Las columnas también deben tener los mismos tipos de datos. Además, las columnas en cada ZEEST deben estar en el mismo orden.

SINTAX UNION SQL

SELECCIONE column_name (s) De. tabla 1
Unión
SELECCIONE column_name (s) De. tabla 2. ;

Nota: El Operador Union selecciona solo los diferentes valores predeterminados. Para resolver valores de repetición, use la palabra clave Alion.

SQL Union Toda Sintaxis

SELECCIONE column_name (s) De. tabla 1
Unión todo.
SELECCIONE column_name (s) De. tabla 2. ;

PD: Los nombres de las columnas en los resultados de las solicitudes, aliados, como regla general, son iguales a los nombres de las columnas en la primera ZEEST en la Unión.

Versión de demostración de la base de datos.

En esta lección, utilizaremos la conocida base de datos de Borean.

A continuación se muestra una selección de tablas de "clientes":

ID personalizado Nombre del cliente La persona de contacto Habla a ciudad Código postal País
1 Alfreds futterkiste. Maria Anders. Obere str. 57. Berlina. 12209 Alemania
2 Ana Trujillo emparedados y Helados Ana Trujillo. AVDA. De la constitución 2222 México DF. 05021 México.
3 Antonio Moreno Taqueria Antonio Moreno. Mataderos 2312. México DF. 05023 México.

Y eligiendo de las tablas de "proveedores":

SQL Union Ejemplo

Siguiente SQL - Operador elige todo varios Ciudades (solo valores individuales) de las tablas de "clientes" y "proveedores":

Nota: Unión no se puede utilizar para ver la lista de todas las ciudades de dos tablas. Si varios clientes y proveedores, las mismas ciudades, cada ciudad solo se especificará una vez. Unión selecciona solo ciertos valores. ¡Usando la Unión, todos los valores repetitivos seleccionados!

SQL Union TODO EJEMPLO

todas (Valores duplicados) también ciudades de "clientes" y tablas de "proveedores":

SQL Union All con donde

Siguiente SQL - Operador usa Union All para seleccionar todas (valores duplicados) también alemán Ciudades de "clientes" y tablas de "proveedores".

El operador de SQL Union está diseñado para combinar las tablas de base de datos resultantes obtenidas con la palabra Seleccionar. La condición para combinar las tablas resultantes: la coincidencia del número, el procedimiento para el siguiente y el tipo de datos de columnas. El pedido debe aplicarse a los resultados de la fusión y publicar solo al final de la solicitud compuesta. El operador de la Unión tiene la siguiente sintaxis:

Select_stolbam_names (1..n) de Name_Table Union Seleccionar nombres_stolbtsy (1..n) de Name_table

En este diseño, las solicitudes integradas pueden tener condiciones en la sección donde pueden no tenerlas. Uso del operador de la Unión, puede combinar las solicitudes de recuperación de datos de una mesa y desde diferentes.

Cuando utilice el operador de la Unión sin palabra, el resultado no contiene duplicados, sino con la palabra todo lo que contiene duplicados.

Resultados y valores individuales en una tabla utilizando el operador de la Unión SQL

Una solicitud se puede derivar de la tabla los valores individuales de las columnas, por ejemplo, el número de años delaborado por los empleados de la compañía, el tamaño de sus salarios y otros. Otra consulta - usando funciones agregadas - Puede obtener, por ejemplo, la cantidad de salarios recibidos por los empleados de los departamentos o de los o otras posiciones, o el promedio de los años de empleo (en tales solicitudes, la agrupación utilizando el grupo por operador).

¿Y si necesitamos meternos en la misma tabla y el resumen de todos los valores individuales y los valores finales? Aquí, el operador de la Unión SQL llega al rescate, con el cual se combinan dos solicitudes. El resultado de la combinación se requiere para aplicar el pedido utilizando el pedido por declaración. Para lo cual es necesario, se entenderá mejor de los ejemplos.

Ejemplo 1. En la base de datos de la compañía hay una tabla de personal que contiene datos sobre los empleados de la empresa. Tiene columnas salariales (salarios), trabajo (posición) y años (duración de la experiencia laboral). La primera solicitud devuelve los tamaños de salarios individuales, ordenados por las posiciones:

Seleccione Nombre, trabajo, salario de la orden del personal por trabajo

Nombre.TrabajoSalario.
Sanders.MONSEÑOR.18357.5
Marenghi.MONSEÑOR.17506.8
PernalVentas18171.2
MédicoVentas12322.4
FactorVentas16228.7

La segunda solicitud devolverá el salario total para las publicaciones. Ya estamos preparando esta solicitud para conectarse a la primera, por lo que recordaremos que la condición del compuesto es igual al número de columnas, la coincidencia de sus nombres, el procedimiento para los siguientes tipos de datos. Por lo tanto, encendimos la tabla con la columna Nombre con un valor arbitrario "Z-TOTAL" en la tabla con los resultados:

Seleccione "Z-TOTAL" como nombre, trabajo, suma (salario) como salario del grupo del personal por trabajo

El resultado de la consulta será la siguiente tabla:

Nombre.TrabajoSalario.
Z-totalMONSEÑOR.35864.3
Z-totalVentas46722.3

Ahora combine las solicitudes utilizando el operador de la Unión y aplique el pedido por operador al resultado de la combinación. El grupo sigue dos columnas: Posición (trabajo) y nombre (nombre) a las filas con los valores finales (total) en los que el valor del nombre es "Z-TOTAL", estuvo por debajo de las filas con valores individuales. Combinando los resultados de la consulta será la siguiente:

(Seleccionar nombre, trabajo, salario del personal) Unión (seleccione "Z-TOTAL" como nombre, trabajo, suma (salario) como salario del grupo del personal por trabajo) Pedido por trabajo, nombre

El resultado de la ejecución de la solicitud con el Operador de la Unión será la siguiente tabla en la que cada primera línea en cada grupo de posición contendrá el salario total de los empleados que trabajan en esta posición:

Nombre.TrabajoSalario.
Marenghi.MONSEÑOR.17506.8
Sanders.MONSEÑOR.18357.5
Z-totalMONSEÑOR.35864.3
MédicoVentas12322.4
FactorVentas16228.7
PernalVentas18171.2
Z-totalVentas46722.3

Escribe consultas usando unión usted mismo y luego vea la decisión.

Ejemplo 2. Los datos son los mismos que en el Ejemplo 1, pero la tarea es un poco más complicada. Se requiere que se retire en la misma tabla, no solo los tamaños de salarios individuales, ordenados por posiciones y los salarios totales de las posiciones, sino el salario total para todos los empleados.

Ejemplo 3. En la base de datos de la compañía hay una tabla de personal que contiene datos sobre los empleados de la empresa. Tiene nombres de columnas (apellidos), departamento (número de división) y años (duración de la longitud del trabajo).

Nombre.Dept.Años.
Sanders.20 7
Pernal20 8
Marenghi.38 5
Médico20 5
Factor38 8

En la misma tabla, la experiencia laboral promedio en los departamentos y los valores individuales de la duración de la experiencia laboral de los empleados agrupados por los departamentos.

Otros casos de combinación de solicitudes a una tabla utilizando el operador de la Unión SQL

Ejemplo 4. En la base de datos de la compañía hay una tabla de personal que contiene datos sobre los empleados de la empresa. Tiene columnas salariales (salarios), trabajo (posición) y años (duración de la experiencia laboral). La primera solicitud es necesaria para obtener datos de los empleados, que es más de 21,000 salarios:

El resultado de la consulta será la siguiente tabla:

Ahora los datos en los que se combinan los criterios de selección utilizados en dos solicitudes. Combinamos solicitudes utilizando el operador de la Unión:

El resultado de la ejecución de la solicitud con el operador de la Unión será la siguiente tabla:

IdentificaciónNombre.
10 Sanders.
30 Marenghi.
100 Plotz.
140 FRAYE.
160 Molinare.
240 Daniels.
260 Jones

Una solicitud al operador de la Unión puede devolver un mayor número de columnas, es importante repetir el número de columnas, coincidió el orden de su seguimiento y los tipos de datos.

Se debe obtener primero para obtener datos sobre las categorías y partes de las categorías de anuncios en los que se envían más de 100 anuncios por semana. Escribimos la siguiente consulta:

El resultado de la consulta será la siguiente tabla:

El resultado de la consulta será la siguiente tabla:

Ahora desea extraer los datos que corresponden a los criterios y las solicitudes de primera y segunda. Combinamos solicitudes utilizando el operador de la Unión:

El resultado de la consulta será la siguiente tabla:

Combinando los resultados de las solicitudes a dos tablas utilizando el operador de la Unión SQL

Hasta ahora, hemos considerado solicitudes con el operador sindical, en el que los resultados se combinaron de una mesa. Ahora combinaremos los resultados de las dos tablas.

Ejemplo 6. Hay una base de datos de un almacén de materiales de construcción. Tiene una tabla que contiene datos de viaje. La tabla de vinil contiene datos sobre fondo de pantalla de vinilo, mesa de papel - Acerca de papel de pantalla. Se requiere conocer los datos sobre los precios del papel tapiz de una y otra mesa.

Para extraer datos no repetitivos en el fondo de pantalla de vinilo, haga una solicitud con la palabra distintivo:

Seleccione precio distinto de Vinil

El resultado de la consulta será la siguiente tabla:

Ahora componga una solicitud combinada con el operador de la Unión:

Seleccione el precio distinto de Vinil Union Seleccione el precio distinto del papel

Dado que no utilizamos la palabra todos, no se mostrarán duplicados de 400, 500 y 530 valores. El resultado de la consulta será la siguiente tabla:

Precio
300
320
360
400
430
500
530
610
720
800
850

Ejemplo 7. La base de datos y las tablas son las mismas que en el ejemplo anterior.

Se requiere obtener todos los precios sobre los precios, incluida la repetición. Una solicitud de una combinación de resultados utilizando el operador de la Unión será similar a la solicitud en el ejemplo anterior, pero en lugar de solo unión, escribimos un sindicato todo:

Seleccione el precio distinto de Vinil Union All Seleccione distinto precio desde el papel

El resultado de la consulta será la siguiente tabla:

Precio
300
320
360
400
400
430
500
500
530
530
610
720
800
850

Usando el operador de la Unión SQL, puede combinar ambas consultas simples y solicitudes que contienen subconsultas (solicitudes invertidas) . Considere el ejemplo apropiado.

Ejemplo 8. Hay un "teatro" de la base de datos. La tabla de juegos contiene datos sobre los datos de producción (nombres en la columna Nombre), en la tabla DIRECTOR: los directores del Director (en la columna FNAME, el nombre, en la columna LNAME - Apellido). La clave principal de la tabla de director - Dir_id es la ID del director. Dir_ID también: la clave externa de la tabla de juegos, se refiere a la clave principal de la tabla de director. Se requiere que elimine los intérpretes del director John Barton y Trevor Nunn.

Decisión. Combinamos los resultados de las dos solicitudes: uno devuelve las actuaciones del director John Barton, el otro director Trevor Nunn. Y cada una de estas solicitudes combinadas a la tabla de juegos se realiza con una subconsferencia a la tabla de director, que devuelve la dir_id por el nombre y el director del apellido. Cada solicitud externa acepta el valor de la tecla DIR_ID de la solicitud adjunta y devuelve los nombres de las actuaciones (nombre):

Bases de datos relacionales y lenguaje SQL



¿Te gustó el artículo? Compártelo