SQLShack (Español)

En este artículo, aprenderemos el SQL concepto de combinaciones múltiples y reforzar nuestros aprendizajes con ejemplos bastante sencillos, que se explican con ilustraciones. En las bases de datos relacionales, los datos se almacenan en tablas. Sin duda, y la mayoría de las veces, necesitamos un conjunto de resultados que se forma combinando datos de varias tablas. Las uniones nos permiten combinar datos de dos o más tablas para que podamos unir datos de las tablas para que podamos recuperar fácilmente datos de varias tablas. Puede preguntarse cuántos tipos diferentes de combinación existen en SQL Server. La respuesta es que existen cuatro tipos principales de combinaciones que existen en SQL Server. En primer lugar, los describiremos brevemente usando ilustraciones del diagrama de Venn:

  • La combinación interna devuelve las filas que coinciden en ambas tablas

  • La combinación izquierda devuelve todas las filas de la tabla izquierda

  • La combinación derecha devuelve todas las filas de la tabla derecha

  • La combinación completa devuelve filas enteras de ambas tablas

Si no tiene conocimientos sobre el concepto de combinación SQL en SQL Server, puede ver la descripción general de los tipos de combinación SQL y el artículo del tutorial.

Después de esta breve explicación sobre los tipos de combinación SQL, repasaremos las combinaciones múltiples.

¿Qué son las combinaciones múltiples de SQL?

Las combinaciones múltiples se pueden describir de la siguiente manera; La combinación múltiple es una consulta que contiene los mismos tipos de combinación o diferentes, que se utilizan más de una vez. Por lo tanto, obtenemos la capacidad de combinar múltiples tablas de datos para superar problemas de bases de datos relacionales.

Escenario de ejemplo

La empresa Green-Tree lanzó una nueva campaña para el Año Nuevo e hizo diferentes ofertas a sus clientes en línea. Como resultado de su campaña, lograron convertir algunas ofertas en ventas. En los siguientes ejemplos, descubriremos los detalles de los datos de la campaña de año nuevo de la empresa Green-Tree.

La empresa almacena estos detalles de los datos de la campaña en las siguientes tablas. Ahora, crearemos estas tablas a través de la siguiente consulta y las completaremos con algunos datos ficticios:

¿Cómo funcionan las combinaciones múltiples de SQL?

Problema comercial: ¿Qué clientes estaban interesados en este Año Nuevo? campaña?

Para responder a esta pregunta, necesitamos averiguar las filas coincidentes para todas las tablas porque algunos clientes no recibieron una oferta por correo electrónico y algunas ofertas no se pudieron convertir en una venta. El siguiente diagrama de Venn nos ayudará a determinar las filas coincidentes que necesitamos. En resumen, el resultado de esta consulta debe ser la intersección de las filas de todas las tablas de la consulta. El área de color gris especifica estas filas en el diagrama de Venn:

El enfoque de combinaciones múltiples de SQL nos ayudará a unirnos a clientes en línea , pedidos y tablas de ventas. Como se muestra en el diagrama de Venn, necesitamos hacer coincidir filas de todas las tablas. Por esta razón, combinaremos todas las tablas con una cláusula de unión interna. La siguiente consulta devolverá un conjunto de resultados que deseamos de nosotros y responderá la pregunta:

1
2
3
4
5
6
7
8

SELECT customerName, customercity, customermail, salestotal
FROM onlinecustomers AS oc
INNER JOIN
pedidos AS o
ON oc.customerid = o.customerid
INNER JOIN
ventas AS s
ON o.orderId = s.orderId

Al principio, analizaremos la consulta. Una cláusula de unión interna que se encuentra entre los clientes en línea y las tablas de pedidos deriva las filas coincidentes entre estas dos tablas. La segunda cláusula de combinación interna que combina la tabla de ventas derivó las filas coincidentes del conjunto de resultados anterior. La siguiente ilustración de tablas de colores nos ayudará a comprender la coincidencia de datos de tablas unidas en la consulta. Las filas de color amarillo especifican datos coincidentes entre clientes en línea y pedidos. Por otro lado, solo las filas de color azul existen en las tablas de ventas, por lo que el resultado de la consulta serán filas de color azul:

El resultado de la consulta se verá así:

Uso de diferentes tipos de combinación en múltiples combinaciones de SQL

Problema comercial: ¿Qué ofertas no se pueden convertir en una venta?

Podemos usar los diferentes tipos de combinaciones en una sola consulta para poder superar diferentes problemas de bases de datos relacionales.En este ejemplo, necesitamos todas las filas de la tabla de pedidos, que coinciden con las tablas de clientes en línea. Por otro lado, estas filas no existen en la tabla de ventas. El siguiente diagrama de Venn nos ayudará a determinar las filas coincidentes que necesitamos. El área de color gris indica las filas que serán el resultado de la consulta:

En el primer paso, debemos combinar las tablas de pedidos y clientes en línea a través de la cláusula de combinación interna porque la combinación interna devuelve todas las filas coincidentes entre las tablas de clientes y pedidos en línea. En el segundo paso, combinaremos la tabla de pedidos con la tabla de ventas a través de la combinación izquierda y luego filtraremos los valores nulos porque necesitamos eliminar las filas que están almacenadas en la tabla de ventas:

1
2
3
4
5
6
7
8
9

SELECT customerName, customercity, customermail, ordertotal, salestotal
FROM onlinecustomers AS c
INNER JOIN
pedidos AS o
ON c.customerid = o.customerid
LEFT JOIN
sales AS s
ON o.orderId = s.orderId
DONDE s.salesId IS NULL

El resultado de la consulta se ve así:

Cuestionario

Q Pregunta: Genere la consulta adecuada de acuerdo con el diagrama de Venn a continuación.

Respuesta: Como aprendimos, la combinación completa permite nosotros para devolver todas las filas de las tablas combinadas. La consulta respondida será como la siguiente:

1
2
3
4
5
6
7
8

SELECT customerName, customercity, customermail, ordertotal, salestotal
FROM onlinecustomers AS c
FULL JOIN
pedidos AS o
ON c.customerid = o.customerid
FULL JOIN
ventas AS s
ON o.orderId = s.orderId

Conclusión

En este artículo, nos centramos en el enfoque de combinaciones múltiples de SQL y lo aprendimos con ejemplos detallados. Las combinaciones múltiples nos permiten combinar más de dos tablas para que podamos superar diferentes problemas en el sistema de base de datos relacional. Además, vimos cómo podíamos usar diferentes tipos de combinación en una sola consulta.

  • Autor
  • Publicaciones recientes
Esat Erkec es un Profesional de SQL Server que comenzó su carrera hace más de 8 años como desarrollador de software. Es un experto en soluciones certificado de Microsoft SQL Server.
La mayor parte de su carrera se ha centrado en la administración y el desarrollo de bases de datos de SQL Server. Sus intereses actuales son la administración de bases de datos y Business Intelligence. Puedes encontrarlo en LinkedIn.
Ver todas las publicaciones de Esat Erkec

Últimas publicaciones de Esat Erkec (ver todas)
  • Introducción a la programación SQL – 3 de febrero de 2021
  • Cómo leer una ejecución plan con todos los detalles – 28 de enero de 2021
  • Descripción general y ejemplos de la declaración SQL SELECT TOP – 25 de enero de 2021

Leave a Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *