Una instrucción de combinación SQL se utiliza para combinar filas o información de dos o más tablas en función de un atributo o campo común. Hay básicamente cuatro tipos de JOINS en SQL.
En este artículo, discutiremos FULL OUTER JOIN usando LEFT OUTER Join, RIGHT OUTER JOIN y la cláusula UNION.
Considere las dos tablas a continuación:
Ejemplo de tabla de entrada 1:
informacion de compra | |||
---|---|---|---|
Identificación de producto | Marca_móvil | Costo (INR) | Nombre del cliente |
1 | OnePlus Norte 5G | 30.000 | Rishabh |
2 | Samsung Galaxy M51 | 28,000 | Srishti |
3 | iPhone 12 Pro | 1,28,000 | Un hombre |
4 | samsung galaxy s20 | 55,000 | Duro |
5 | Realme X50 Pro | 40.000 | Manjari |
Ejemplo de tabla de entrada 2:
Información al cliente | ||
---|---|---|
Identificación del cliente | Nombre del cliente | Dirección de correo electrónico |
1 | Srishti | abc@gmail.com |
2 | Rajprofundo | def@gmail.com |
3 | Un hombre | xxx@gmail.com |
4 | Pooja | xyz@gmail.com |
UNIÓN EXTERNA COMPLETA :
Full Join proporciona resultados con la concatenación de LEFT JOIN y RIGHT JOIN . El resultado contendrá todas las filas de la Tabla 1 y la Tabla 2. Las filas que no coincidan en la tabla de resultados tendrán valores NULL.
SELECT * FROM Table1 FULL OUTER JOIN Table2 ON Table1.column_match=Table2.column_match; Table1: First Table in Database. Table2: Second Table in Database. column_match: The column common to both the tables.
La consulta anterior también se puede escribir usando una combinación de LEFT OUTER JOIN, RIGHT OUTER JOIN y UNION. El significado de UNION es unir dos o más conjuntos de datos en un solo conjunto. La consulta anterior y la consulta a continuación proporcionarán el mismo resultado.
SELECT * FROM Table1 LEFT OUTER JOIN Table2 ON Table1.column_match=Table2.column_match UNION SELECT * FROM Table1 RIGHT OUTER JOIN Table2 ON Table1.column_match=Table2.column_match; Table1: First Table in Database. Table2: Second Table in Database. column_match: The column common to both the tables.
Salida de muestra :
RESULTADOS | ||||||
---|---|---|---|---|---|---|
Identificación de producto | Marca_móvil | COSTO (USD) | Nombre del cliente | Identificación del cliente | Nombre del cliente | Dirección de correo electrónico |
1 | OnePlus Norte 5G | 30.000 | Rishabh | NULO | NULO | NULO |
2 | Samsung Galaxy M51 | 28,000 | Srishti | 1 | Srishti | abc@gmail.com |
3 | iPhone 12 Pro | 1,28,000 | Un hombre | 3 | Un hombre | xxx@gmail.com |
4 | samsung galaxy s20 | 55,000 | Duro | NULO | NULO | NULO |
5 | Realme X50 Pro | 40.000 | Manjari | NULO | NULO | NULO |
NULO | NULO | NULO | NULO | 2 | Rajprofundo | def@gmail.com |
NULO | NULO | NULO | NULO | 4 | Pooja | xyz@gmail.com |
CONSULTA SQL PARA LAS ENTRADAS DE MUESTRA:
Hemos considerado la información del cliente y la compra de teléfonos móviles de un sitio de comercio electrónico durante Big Billion Days. La base de datos de comercio electrónico tiene dos tablas, una tiene información sobre el producto y la otra tiene información sobre el cliente. Ahora, realizaremos una UNIÓN EXTERNA COMPLETA entre estas dos tablas para concatenarlas en una sola tabla y obtener datos completos sobre los clientes y los productos que compraron en el sitio.
Ahora consideremos la tabla de información_compra . Para ver la tabla utilice la siguiente consulta:
SELECT * FROM purchase_information;
Producción:
Para ver la tabla de información del cliente , use la siguiente consulta:
SELECT * FROM customer_information;
Producción:
Ahora podemos simplemente llamar a la cláusula FULL OUTER JOIN para lograr un resultado combinado de las dos tablas creadas anteriormente usando la siguiente consulta:
SELECT * FROM purchase_information FULL OUTER JOIN customer_information ON purchase_information.cust_name=customer_information.customer_name
Producción:
Pero podemos lograr los mismos resultados sin usar la cláusula FULL OUTER JOIN. Para esto hacemos uso de la cláusula LEFT JOIN, RIGHT JOIN y UNION como se muestra a continuación:
SELECT FROM purchase_information LEFT OUTER JOIN customer information ON purchase_information.cust_name=customer_information.customer_name UNION SELECT * FROM purchase_information RIGHT OUTER JOIN customer_information ON purchase_information.cust_name=customer_information.customer_name
Producción:
Publicación traducida automáticamente
Artículo escrito por rishabhchakrabortygfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA