SQL JOIN combina una o más tablas en función de su relación. SQL JOIN implica una tabla principal y una relación de tabla secundaria.
Hay diferentes tipos de JOINS SQL:
- Unión interna
- Unión exterior izquierda
- Unión exterior derecha
- Unión externa completa
- Unión cruzada.
Comprendamos cada tipo de unión SQL con la ayuda de ejemplos.
Unión interna
La unión interna en SQL es una unión ampliamente utilizada. Obtuvo todos los registros de ambas tablas hasta que la condición coincidiera. Significa que esta combinación devolverá solo las filas comunes en ambas tablas.
Sintaxis de SQL Inner Join:
SELECT Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 INNER JOIN Table_Name2 ON table_Name1.Column_Name = Table_Name2.Column_Name;
Considere las tablas ya existentes, que tienen ciertos datos:
Tabla 1:Empleados
ID DE EMPLEADO | FIRST_NAME | APELLIDO | SALARIO | CIUDAD | DEPARTAMENTO | ID DE ADMINISTRADOR |
1001 | VAIBHAVI | MISHRA | 65500 | PUNE | ORACULO | 1 |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | C# | 5 |
1003 | NIKHIL | VANI | 50500 | JAIPUR | FMW | 2 |
2001 | PRACHI | SHARMA | 55500 | CHANDIGARH | ORACULO | 1 |
2002 | BHAVESH | JAÍN | 65500 | PUNE | FMW | 2 |
2003 | RUCHIKA | JAÍN | 50000 | BOMBAY | C# | 5 |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA | 3 |
3002 | ANUJA | WANRE | 50500 | JAIPUR | FMW | 2 |
3003 | DEEPAM | JAUHARI | 58500 | BOMBAY | JAVA | 3 |
4001 | RAJESH | GOUD | 60500 | BOMBAY | PRUEBA | 4 |
4002 | ASHWINI | BAGHAT | 54500 | NOIDA | JAVA | 3 |
4003 | RUCHIKA | AGARWAL | 60000 | DELHI | ORACULO | 1 |
5001 | ARCHIT | SHARMA | 55500 | DELHI | PRUEBA | 4 |
Tabla 2:Gerente
Administrador | nombre_administrador | gerente_departamento |
1 | Snehdeep Kaur | ORACULO |
2 | Kirti Kirtane | FMW |
3 | Abhishek Manish | JAVA |
4 | Anupam Mishra | PRUEBA |
5 | Akash Kadam | C# |
Tabla 3:Computadora portátil:
LAPTOPID | NOMBRE | ID DE EMPLEADO |
L101 | DELL | NULO |
L102 | HP | 1002 |
L103 | LENOVO | NULO |
L104 | HP | 3003 |
L105 | DELL | 4002 |
L106 | LENOVO | 4003 |
L107 | DELL | 5001 |
L108 | HP | NULO |
L109 | DELL | NULO |
L110 | HP | NULO |
Ejemplos de SQL Inner Join
Ejemplo 1: Ejecute una consulta para unir la tabla de empleados y la tabla de gerentes y muestre los detalles de los empleados como la identificación del empleado, el nombre del empleado, el salario de la tabla del empleado y la identificación y el nombre del gerente de la tabla del gerente.
SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID;
En la consulta anterior, obtuvimos la identificación del empleado, el nombre, el apellido, el salario de la tabla del empleado y la identificación del administrador, el nombre del administrador de la tabla del administrador donde la columna de identificación del administrador de la tabla de empleados es igual a la columna de identificación del administrador de la tabla del administrador. La consulta devolverá todos los registros de coincidencias de ambas tablas. La identificación del administrador es una columna común entre ambas tablas. E es un nombre de alias para la tabla de empleados, mientras que M es para la tabla de gerentes. El campo de identificación del gerente se coloca como una clave externa en la tabla de empleados. La identificación del administrador funciona como la clave principal en la tabla del administrador, lo que crea una relación padre-hijo entre las dos tablas.
Salida:
ID DE EMPLEADO | FIRST_NAME | APELLIDO | SALARIO | ID DE ADMINISTRADOR | NOMBRE_GERENTE |
1001 | VAIBHAVI | MISHRA | 65500 | 1 | Sneedep Kaur |
2001 | PRACHI | SHARMA | 55500 | 1 | Sneedep Kaur |
4003 | RUCHIKA | AGARWAL | 60000 | 1 | Sneedep Kaur |
1003 | NIKHIL | VANI | 50500 | 2 | Kirti kirtane |
2002 | BHAVESH | JAÍN | 65500 | 2 | Kirti kirtane |
3002 | ANUJA | WANRE | 50500 | 2 | Kirti kirtane |
3001 | PRANOTI | SHENDE | 55500 | 3 | Abhishek Manish |
3003 | DEEPAM | JAUHARI | 58500 | 3 | Abhishek Manish |
4002 | ASHWINI | BAGHAT | 54500 | 3 | Abhishek Manish |
4001 | RAJESH | GOUD | 60500 | 4 | Anupam Mishra |
5001 | ARCHIT | SHARMA | 55500 | 4 | Anupam Mishra |
1002 | VAIBHAV | SHARMA | 60000 | 5 | Akash Kadam |
2003 | RUCHIKA | JAÍN | 50000 | 4 | Akash Kadam |

Los registros se muestran en orden ascendente por ID de administrador.
Ejemplo 2: Ejecute una consulta para unir la tabla de empleados y la tabla de gerentes, y muestre los detalles de los empleados, como la identificación del empleado, el nombre del empleado, el salario de la tabla del empleado y la identificación del gerente y el departamento del gerente de la tabla del gerente donde el salario del empleado es superior a 58000.
SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, M.MANAGERID, M.MANAGER_DEPARTMENT FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID WHERE SALARY > 58000;
En la consulta anterior, obtuvimos la identificación del empleado, el nombre, el apellido, el salario de la tabla del empleado, la identificación del administrador y el departamento del administrador de la tabla del administrador, donde la identificación del administrador de la tabla de empleados es igual a la identificación del administrador del administrador. tabla solo aquellos registros de empleados cuyo salario es mayor a 58000.
Salida:
ID DE EMPLEADO | FIRST_NAME | APELLIDO | SALARIO | ID DE ADMINISTRADOR | DEPARTAMENTO_GERENTE |
1001 | VAIBHAVI | MISHRA | 65500 | 1 | ORACULO |
4003 | RUCHIKA | AGARWAL | 60000 | 1 | ORACULO |
2002 | BHAVESH | JAÍN | 65500 | 2 | FMW |
3003 | DEEPAM | JAUHARI | 58500 | 3 | JAVA |
4001 | RAJESH | GOUD | 60500 | 4 | PRUEBA |
1002 | VAIBHAV | SHARMA | 60000 | 5 | C# |

Solo se muestran seis registros donde el salario de un empleado supera los 58000.
Ejemplo 3: Ejecute una consulta para unir la tabla de empleados y la tabla de la computadora portátil, muestre los detalles del empleado como la identificación del empleado, el nombre del empleado y el salario, la ciudad de la tabla del empleado, la identificación de la computadora portátil y el nombre de la computadora portátil de la tabla de la computadora portátil
SELECT EMP.EMPLOYEEID, EMP.FIRST_NAME, EMP.SALARY, EMP.CITY, LAP.LAPTOPID, LAP. NAME FROM EMPLOYEES EMP INNER JOIN LAPTOP LAP ON EMP.EMPLOYEEID = LAP.EMPLOYEEID;
En la consulta anterior, obtuvimos la identificación del empleado, el nombre, el salario, la ciudad de la identificación de la computadora portátil de la mesa de los empleados y el nombre de la tabla de la computadora portátil donde la identificación del empleado de la tabla de empleados es igual a la identificación del empleado de la mesa de la computadora portátil. La identificación del empleado es una clave externa en la tabla Laptop, que crea una relación padre-hijo entre la tabla Employee y la tabla Laptop.
Salida:
ID DE EMPLEADO | FIRST_NAME | SALARIO | CIUDAD | PORTÁTIL | NOMBRE |
1002 | VAIBHAV | 60000 | NOIDA | L102 | HP |
3003 | DEEPAM | 58500 | BOMBAY | L104 | HP |
4002 | ASHWINI | 54500 | NOIDA | L105 | DELL |
4003 | RUCHIKA | 60000 | DELHI | L106 | LENOVO |
5001 | ARCHIT | 55500 | DELHI | L107 | DELL |

Solo se muestran los registros de cinco empleados.
Ejemplo 4: Escriba una consulta para mostrar la identificación del empleado, el nombre, el salario y el departamento de la tabla de empleados. La identificación del administrador y el nombre del administrador de la tabla del administrador utilizando la combinación interna donde el salario> 55000 y el departamento es Oracle.
SELECT EMPLOYEEID, FIRST_NAME, SALARY, DEPARTMENT, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID = M.MANAGERID WHERE SALARY > 55000 AND DEPARTMENT = 'ORACLE';
En el ejemplo de consulta de unión anterior, mostramos los detalles del empleado como identificación, nombre, salario y departamento de la tabla del empleado, identificación del administrador y nombre del administrador de la tabla del administrador donde la identificación del administrador de la tabla de empleados es igual a la identificación del administrador de el gerente solo aquellos empleados cuyo salario es mayor a 55000 y el Departamento es Oracle.
Salida:
ID DE EMPLEADO | FIRST_NAME | SALARIO | DEPARTAMENTO | ID DE ADMINISTRADOR | NOMBRE_GERENTE |
1001 | VAIBHAVI | 65500 | ORACULO | 1 | Snehdeep Kaur |
2001 | PRACHI | 55500 | ORACULO | 1 | Snehdeep Kaur |
4003 | RUCHIKA | 60000 | ORACULO | 1 | Snehdeep Kaur |

Solo tres empleados cuyo salario es mayor a 55000 y el departamento es Oracle.
Ejemplo 5: Ejecute una consulta de combinación en la tabla Empleados, Gerente y Computadora portátil, y muestre los detalles de los empleados, la identificación del administrador y la identificación de la computadora portátil.
SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, M.MANAGERID, L.LAPTOPID FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID = M.MANAGERID INNER JOIN LAPTOP L ON E.EMPLOYEEID = L.EMPLOYEEID;
La consulta anterior muestra la identificación del empleado, el nombre, el apellido, la identificación del gerente y la identificación de la computadora portátil de las tablas de empleados, gerente y computadora portátil. Unimos tres mesas. La identificación del empleado es una columna común entre los empleados y la mesa de la computadora portátil y crea una relación padre-hijo entre estas tres tablas. Entre empleados y gerentes, la identificación del administrador de la tabla es la columna común.
Salida:
ID DE EMPLEADO | FIRST_NAME | APELLIDO | ID DE ADMINISTRADOR | PORTÁTIL |
4003 | RUCHIKA | AGARWAL | 1 | L106 |
3003 | DEEPAM | JAUHARI | 3 | L104 |
4002 | ASHWINI | BAGHAT | 3 | L105 |
5001 | ARCHIT | SHARMA | 4 | L107 |
1002 | VAIBHAV | SHARMA | 5 | L102 |

Unión exterior izquierda
La combinación externa izquierda devolverá todos los registros de la tabla en el lado izquierdo de la combinación y los registros coincidentes de la tabla en el lado derecho de la combinación. El conjunto de resultados contiene valores nulos para los registros que no son comunes en el lado derecho.
Sintaxis de combinación externa izquierda:
SELECT Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 LEFT OUTER JOIN Table_Name2 ON Table_Name1.Column_Name = Table_Name2.Column_Name;>
Considere las tablas existentes, que tienen los siguientes registros:
Tabla 1:Empleados
ID DE EMPLEADO | FIRST_NAME | APELLIDO | SALARIO | CIUDAD | DEPARTAMENTO | ID DE ADMINISTRADOR |
1001 | VAIBHAVI | MISHRA | 65500 | PUNE | ORACULO | 1 |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | C# | 5 |
1003 | NIKHIL | VANI | 50500 | JAIPUR | FMW | 2 |
2001 | PRACHI | SHARMA | 55500 | CHANDIGARH | ORACULO | 1 |
2002 | BHAVESH | JAÍN | 65500 | PUNE | FMW | 2 |
2003 | RUCHIKA | JAÍN | 50000 | BOMBAY | C# | 5 |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA | 3 |
3002 | ANUJA | WANRE | 50500 | JAIPUR | FMW | 2 |
3003 | DEEPAM | JAUHARI | 58500 | BOMBAY | JAVA | 3 |
4001 | RAJESH | GOUD | 60500 | BOMBAY | PRUEBA | 4 |
4002 | ASHWINI | BAGHAT | 54500 | NOIDA | JAVA | 3 |
4003 | RUCHIKA | AGARWAL | 60000 | DELHI | ORACULO | 1 |
5001 | ARCHIT | SHARMA | 55500 | DELHI | PRUEBA | 4 |
Tabla 2:Gerente
Administrador | nombre_administrador | gerente_departamento |
1 | Snehdeep Kaur | ORACULO |
2 | Kirti Kirtane | FMW |
3 | Abhishek Manish | JAVA |
4 | Anupam Mishra | PRUEBA |
5 | Akash Kadam | C# |
Mesa 3:Portátil
LAPTOPID | NOMBRE | ID DE EMPLEADO |
L101 | DELL | NULO |
L102 | HP | 1002 |
L103 | LENOVO | NULO |
L104 | HP | 3003 |
L105 | DELL | 4002 |
L106 | LENOVO | 4003 |
L107 | DELL | 5001 |
L108 | HP | NULO |
L109 | DELL | NULO |
L110 | HP | NULO |
Ejemplos de SQL Left Outer Join
Ejemplo 1: Ejecute una consulta de combinación externa izquierda en la tabla de empleados y la tabla de la computadora portátil, donde se muestra la identificación del empleado, el nombre del empleado y la identificación de la computadora portátil.
SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, L.LAPTOPID, L.NAME FROM EMPLOYEES E LEFT OUTER JOIN LAPTOP L ON E.EMPLOYEEID = L.EMPLOYEEID;
En la consulta anterior, mostramos la identificación del empleado, el nombre, el apellido de la identificación de la computadora portátil de la mesa del empleado y el nombre de la tabla de la computadora portátil y realizamos una consulta de combinación externa izquierda en estas dos tablas. La consulta devolverá valores nulos en el lado derecho de la tabla si las filas no son similares entre tablas.
Salida:
ID DE EMPLEADO | FIRST_NAME | APELLIDO | PORTÁTIL | NOMBRE |
1001 | VAIBHAVI | MISHRA | NULO | NULO |
1002 | VAIBHAV | SHARMA | L102 | HP |
1003 | NIKHIL | VANI | NULO | NULO |
2001 | PRACHI | SHARMA | NULO | NULO |
2002 | BHAVESH | JAÍN | NULO | NULO |
2003 | RUCHIKA | JAÍN | NULO | NULO |
3001 | PRANOTI | SHENDE | NULO | NULO |
3002 | ANUJA | WANRE | NULO | NULO |
3003 | DEEPAM | JAUHARI | L104 | HP |
4001 | RAJESH | GOUD | NULO | NULO |
4002 | ASHWINI | BAGHAT | L105 | DELL |
4003 | RUCHIKA | AGARWAL | L106 | LENOVO |
5001 | ARCHIT | SHARMA | L107 | DELL |

Ejemplo 2: Escriba una consulta para obtener la identificación del empleado, el nombre, el apellido y el salario de la tabla del empleado a la izquierda de la unión externa en la tabla de la computadora portátil donde el salario> 55000.
SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, L.LAPTOPID, L.NAME FROM EMPLOYEES E LEFT OUTER JOIN LAPTOP L ON E.EMPLOYEEID = L.EMPLOYEEID WHERE SALARY > 55000;
En la consulta anterior, obtuvimos los detalles de los empleados de la tabla de empleados y los detalles de la computadora portátil de la tabla de la computadora portátil, pero solo los detalles de los empleados cuyo salario es superior a 55000. Realizamos la consulta de combinación externa izquierda en estas dos tablas. La consulta devolverá valores nulos en el lado derecho de la tabla si las filas no son similares entre tablas.
ID DE EMPLEADO | FIRST_NAME | APELLIDO | SALARIO | PORTÁTIL | NOMBRE |
1001 | VAIBHAVI | MISHRA | 65500 | NULO | NULO |
1002 | VAIBHAV | SHARMA | 60000 | L102 | HP |
2001 | PRACHI | SHARMA | 55500 | NULO | NULO |
2002 | BHAVESH | JAÍN | 65500 | NULO | NULO |
3001 | PRANOTI | SHENDE | 55500 | NULO | NULO |
3003 | DEEPAM | JAUHARI | 58500 | L104 | HP |
4001 | RAJESH | GOUD | 60500 | NULO | NULO |
4003 | RUCHIKA | AGARWAL | 60000 | L106 | LENOVO |
5001 | ARCHIT | SHARMA | 55500 | L107 | DELL |

Unión exterior derecha
La combinación externa derecha devolverá todos los registros de la tabla en el lado derecho de la combinación y los registros coincidentes de la tabla en el lado izquierdo de la combinación. El conjunto de resultados contiene valores nulos para los registros que no son comunes en el lado izquierdo.
Sintaxis de combinación externa derecha:
SELECT Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 RIGHT OUTER JOIN Table_Name2 ON Table_Name1.Column_Name = Table_Name2.Column_Name;>
Ejemplos de SQL Right Outer Join
Ejemplo 1: Ejecute una consulta de combinación externa derecha en la mesa de los empleados y la mesa de la computadora portátil, donde se muestra la identificación del empleado, el nombre de los empleados.
SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, L.LAPTOPID, L.NAME FROM EMPLOYEES E Right OUTER JOIN LAPTOP L ON E.EMPLOYEEID = L.EMPLOYEEID;
En la consulta anterior, mostramos la identificación del empleado, el nombre, el apellido de la identificación de la computadora portátil de la mesa del empleado y el nombre de la tabla de la computadora portátil y realizamos la consulta de unión externa derecha en estas dos tablas. La consulta devolverá valores nulos en el lado izquierdo de la tabla si las filas no son similares entre tablas.
Salida:
ID DE EMPLEADO | FIRST_NAME | APELLIDO | PORTÁTIL | NOMBRE |
NULO | NULO | NULO | L101 | DELL |
1002 | VAIBHAV | SHARMA | L102 | HP |
NULO | NULO | NULO | L103 | LENOVO |
3003 | DEEPAM | JAUHARI | L104 | HP |
4002 | ASHWINI | BAGHAT | L105 | DELL |
4003 | RUCHIKA | AGARWAL | L106 | LENOVO |
5001 | ARCHIT | SHARMA | L107 | DELL |
NULO | NULO | NULO | L108 | HP |
NULO | NULO | NULO | L109 | DELL |
NULO | NULO | NULO | L110 | HP |

Ejemplo 2: Escriba una consulta para obtener la identificación, el nombre y el apellido del empleado de la tabla del empleado. La unión externa derecha en la mesa de la computadora portátil donde el nombre de la computadora portátil incluye una de las listas es Dell, HP.
SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, L.LAPTOPID, L.NAME FROM EMPLOYEES E RIGHT OUTER JOIN LAPTOP L ON E.EMPLOYEEID = L.EMPLOYEEID WHERE L.NAME IN ('DELL', 'HP');
En la consulta anterior, mostramos los detalles de los empleados de los detalles de la computadora portátil de la mesa del empleado en la mesa de la computadora portátil. Realizamos la consulta de combinación externa correcta en estas dos tablas solo para el empleado cuyo nombre de computadora portátil incluye una de las listas es Dell y HP. La consulta devolverá valores nulos en el lado izquierdo de la tabla si las filas no son similares entre tablas.
Salida:
ID DE EMPLEADO | FIRST_NAME | APELLIDO | PORTÁTIL | NOMBRE |
NULO | NULO | NULO | L101 | DELL |
1002 | VAIBHAV | SHARMA | L102 | HP |
3003 | DEEPAM | JAUHARI | L104 | HP |
4002 | ASHWINI | BAGHAT | L105 | DELL |
5001 | ARCHIT | SHARMA | L107 | DELL |
NULO | NULO | NULO | L108 | HP |
NULO | NULO | NULO | L109 | DELL |
NULO | NULO | NULO | L110 | HP |

Unión externa completa
Full Outer Join fusiona el resultado tanto de Left Outer Joins como de Right Outer Join. Full Outer Join es lo mismo que Cross Join. Full Outer Joins devuelve la salida, donde las filas son comunes o no comunes entre las tablas.
Sintaxis de unión externa completa:
SELECT COLUMNNAME1, COLUMNNAME2 FROM TABLE1 FULL JOIN TABLE2;
Ejemplo 1: Escriba una consulta para mostrar la identificación del empleado, el nombre y el apellido de la identificación del administrador de la tabla del empleado. Combinación externa completa Tabla de administrador donde el salario del empleado es superior a 65000.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, M.MANAGERID FROM EMPLOYEES FULL JOIN MANAGER M WHERE SALARY > 65000;
En la consulta anterior, mostramos los detalles de los empleados y los detalles del gerente de la tabla de empleados y gerentes donde el salario del empleado es superior a 65000 usando la unión completa. En su totalidad, una cada Fila de la tabla del empleado a través de cada Fila de la tabla del gerente, es decir, se producirá el producto cartesiano. M * N
Salida:
ID DE EMPLEADO | FIRST_NAME | APELLIDO | ID DE ADMINISTRADOR |
1001 | VAIBHAVI | MISHRA | 1 |
1001 | VAIBHAVI | MISHRA | 2 |
1001 | VAIBHAVI | MISHRA | 3 |
1001 | VAIBHAVI | MISHRA | 4 |
1001 | VAIBHAVI | MISHRA | 5 |
2002 | BHAVESH | JAÍN | 1 |
2002 | BHAVESH | JAÍN | 2 |
2002 | BHAVESH | JAÍN | 3 |
2002 | BHAVESH | JAÍN | 4 |
2002 | BHAVESH | JAÍN | 5 |

Como podemos ver, la identificación de empleado 1001 se une con cada identificación de administrador, lo mismo con la identificación de empleado 2002.
Ejemplo 2: Ejecute una consulta de combinación externa completa en la tabla de empleados y la tabla de la computadora portátil, donde el salario del empleado es superior a 60000 y la ubicación del empleado es Pune.
SELECT LAPTOPID, E.EMPLOYEEID, E.FIRST_NAME, E.SALARY, E.CITY FROM LAPTOP FULL JOIN EMPLOYEES E WHERE SALARY > 60000 AND CITY ='PUNE';
En la consulta anterior, mostramos la identificación de la computadora portátil, la identificación del empleado, el nombre, el salario y la ciudad de la computadora portátil, solo se unen a los empleados cuyo salario es superior a 60000 y la ciudad es Pune. Si ambas condiciones coinciden solo para el empleado, se obtiene el registro.
Salida:

Unión cruzada
Las uniones cruzadas en SQL no son más que un producto cartesiano. Cada fila de una tabla se combina o fusiona con cada fila de la otra tabla. M * N es unión cruzada
Sintaxis de unión cruzada:
SELECT COLUMNNAME1, COLUMNNAME2 FROM TABLE1 CROSS JOIN TABLE2;
Ejemplo 1: Escriba una consulta para realizar una operación de combinación cruzada en la tabla de empleados y la tabla de gerentes donde el nombre del empleado comienza con A
SELECT EMPLOYEEID, FIRST_NAME, M.MANAGERID FROM EMPLOYEES CROSS JOIN MANAGER M WHERE FIRST_NAME LIKE 'A%';
En el ejemplo de consulta de unión externa completa anterior, recuperamos los detalles del empleado y del gerente de la tabla de empleados y la tabla del gerente, pero solo aquellos registros donde el nombre del empleado comienza con la letra 'A'.
Salida:

El resultado muestra que la identificación del empleado es una unión cruzada con cada fila de identificación del administrador.
M * N Aquí, M =3; ID de empleado de las tablas de empleados
n =5; ID de administrador de la tabla de administradores 3 * 5 =15 filas.
Ejemplo 2: Escriba una consulta para realizar una operación de combinación cruzada en la mesa de la computadora portátil y la mesa de empleados donde el salario de los empleados es mayor que 58000 y Mumbai.
SELECT LAPTOPID, NAME, E.EMPLOYEEID FROM LAPTOP CROSS JOIN EMPLOYEES E WHERE SALARY > 58000 AND CITY ='MUMBAI';
En la consulta anterior, mostramos la identificación de la computadora portátil, el nombre y la identificación del empleado de la tabla de la computadora portátil para realizar una operación de combinación cruzada en la tabla de empleados donde el salario del empleado es mayor a 58000 y la ciudad es Pune. La unión cruzada funciona como M * N.
Salida:
