sql >> Base de Datos >  >> RDS >> Database

Operadores SET en SQL

El operador utilizado para unir o combinar dos consultas no es otro que los operadores SET. Los operadores categorizados en operadores SET son los siguientes:

  1. Operador UNION.
  2. Operador UNION ALL'.
  3. Operador INTERSECCIÓN.
  4. Operador MENOS.

Las reglas a seguir para operar usando SET Operador son las siguientes:

  • El número de Columnas y el Orden de las Columnas debe ser el mismo.
  • El tipo de datos debe ser compatible.

Entendamos cada uno de los Operadores SET con ejemplos.

Considere las siguientes tablas junto con los registros proporcionados.

Tabla 1:Empleados

ID DE EMPLEADO FIRST_NAME APELLIDO SALARIO CIUDAD DEPARTAMENTO ID DE ADMINISTRADOR HORAS_TRABAJABLES GÉNERO
1001 VAIBHAVI MISHRA 65000 PUNE ORACULO 1 12 F
1002 VAIBHAV SHARMA 60000 NOIDA ORACULO 1 9 M
1003 NIKHIL VANI 50000 JAIPUR FMW 2 10 M
2001 PRACHI SHARMA 55500 CHANDIGARH ORACULO 1 10 F
2002 BHAVESH JAÍN 65500 PUNE FMW 2 12 M
2003 RUCHIKA JAÍN 50000 BOMBAY PRUEBA 4 9 F
3001 PRANOTI SHENDE 55500 PUNE JAVA 3 9 F
3002 ANUJA DÓNDE 50500 JAIPUR FMW 2 9 F
3003 DEEPAM JAUHARI 58500 BOMBAY JAVA 3 12 M
4001 RAJESH GOUD 60500 BOMBAY PRUEBA 4 10 M

Tabla 2:Empleado.

ID DE EMPLEADO FIRST_NAME APELLIDO SALARIO CIUDAD DEPARTAMENTO ID DE ADMINISTRADOR HORAS_TRABAJABLES GÉNERO
1001 Vaibhav Sharma 65000 PUNE ORACULO 1 12 M
1002 Nikhil Vani 60000 NOIDA ORACULO 1 9 M
1003 Vaibhavi Mishra 50000 JAIPUR FMW 2 10 F
2001 Ruchika Jainista 55500 CHANDIGARH ORACULO 1 10 F
2002 Prachi Sharma 65500 PUNE FMW 2 12 F
2003 Bhavesh Jainista 50000 BOMBAY PRUEBA 4 9 M
3001 Deepam Jauhari 55500 PUNE JAVA 3 9 M
3002 ANUJA DÓNDE 50500 JAIPUR FMW 2 9 F
3003 Pranoti Shende 58500 BOMBAY JAVA 3 12 F
4001 RAJESH GOUD 60500 BOMBAY PRUEBA 4 10 M

Mesa 3:Gerente.

Administrador nombre_administrador gerente_departamento
1 Snehdeep Kaur ORACULO
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra PRUEBA

Tabla 4:Gerente1.

Administrador nombre_administrador gerente_departamento
1 Ishita Agrawal ORACULO
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Paul Oip PRUEBA

Operador UNIÓN

El operador UNION es el primer operador utilizado para fusionar o combinar las dos o más declaraciones SELECT. Si y solo si su número de columnas y el orden de las columnas son los mismos.

Las filas duplicadas no serán consideradas en el resultado obtenido después de realizar la operación UNION.

La sintaxis para la operación UNION es la siguiente,

SELECT * FROM TABLE_NAME1 UNION SELECT * FROM TABLE_NAME2;

Ejemplo 1: Ejecute una consulta para realizar la operación UNION entre la tabla Empleados y la tabla Empleado.

SELECT * FROM EMPLOYEES UNION SELECT * FROM EMPLOYEE;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT recupera los datos de los empleados y la segunda consulta SELECT recupera los datos de los datos de los empleados, y la operación UNION se realiza en ambas consultas SELECT.

La operación UNION descartará las filas duplicadas entre ambas tablas. El siguiente resultado se muestra como:

Ambos registros de la tabla se muestran excepto los registros duplicados.

Ejemplo 2: Ejecute una consulta para realizar la operación UNION entre la tabla Empleados y la tabla Empleado. Pero muestre solo los registros de los empleados de la tabla de empleados que pertenecen a la ciudad de Mumbai y de la tabla de empleados solo los registros de los empleados cuyo salario de empleado sea mayor a 50000 y menor a 60000.

SELECT * FROM EMPLOYEES WHERE CITY = 'MUMBAI' UNION SELECT * FROM EMPLOYEE WHERE SALARY > 50000 AND SALARY < 60000;

En la consulta anterior, hemos utilizado dos consultas SELECT. La consulta First SELECT obtiene solo aquellos registros cuyo empleado pertenece a la ciudad de Mumbai de la tabla Empleados. Y realizar la operación UNION con la segunda consulta SELECT obtiene solo aquellos registros cuyo salario de empleado es mayor que 50000 pero menor que 60000 de la tabla de empleados. La operación UNION descartará las filas duplicadas entre ambas tablas.

El siguiente resultado se muestra como:

Ambos registros de la tabla se muestran excepto los registros duplicados.

Ejemplo 3: Ejecute una consulta para realizar la operación UNION entre la tabla Empleados y la tabla Empleado. Solo queremos aquellos registros de la tabla Empleados cuya ciudad de empleado pertenezca a 'Pune' y 'Jaipur'.

SELECT* FROM EMPLOYEES WHERE CITY IN ('PUNE', 'JAIPUR') UNION SELECT * FROM EMPLOYEE;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT recupera los registros cuyos empleados pertenecen a la ciudad de 'Pune' y 'Jaipur' de la tabla de empleados. La operación UNION se realiza con los registros recuperados de la segunda consulta SELECT de la tabla empleado.

La operación UNION descartará las filas duplicadas entre ambas tablas. El siguiente resultado se muestra como:

Como todos podemos ver, el resultado de los primeros cinco registros son aquellos empleados que pertenecen a la ciudad de Pune o Jaipur. Y los registros de descanso son de la tabla de empleados, la segunda consulta SELECT.

Ambos registros de la tabla se muestran excepto los registros duplicados.

Ejemplo 4: Ejecute una consulta para realizar la operación UNION entre la tabla Empleados y la tabla Empleado. Solo queremos aquellos registros de la tabla Empleado cuyo nombre de empleado comience con V.

SELECT * FROM EMPLOYEES UNION SELECT * FROM EMPLOYEE WHERE FIRST_NAME LIKE 'V%';

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene todos los registros de la tabla Empleados. La operación UNION se realiza con los registros recuperados de la segunda consulta SELECT del empleado de la tabla cuyo nombre comienza con 'V'.

La operación UNION descartará las filas duplicadas entre ambas tablas. El siguiente resultado se muestra como:

Como todos sabemos, los primeros 10 resultados son de la tabla Empleados, y el resto son de la tabla Empleado cuyo nombre de empleado comienza con 'V'.

Ejemplo 5: Ejecute una consulta para realizar la operación UNION entre la tabla Manager y la tabla Manager1.

SELECT * FROM MANAGER UNION SELECT * FROM MANAGER1;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT recupera los datos del administrador y la segunda consulta SELECT recupera los datos de los datos del administrador 1, y la operación UNION se realiza en ambas consultas SELECT.

La operación UNION descartará las filas duplicadas entre ambas tablas. El siguiente resultado se muestra como:

Ambos registros de la tabla se muestran excepto los registros duplicados.

UNION TODOS los operadores

El operador UNION ALL combina todos los datos de ambas consultas. En el operador UNION, los registros duplicados no se consideraron en el resultado, pero UNION ALL consideró los registros duplicados en el resultado obtenido después de realizar la operación UNION ALL.

La sintaxis para la operación UNION ALL es la siguiente,

SELECT * FROM TABLE_NAME1 UNION ALL SELECT * FROM TABLE_NAME2;

Ejemplo 1: Ejecute una consulta para realizar la operación UNION ALL entre la tabla de empleados y la tabla de empleados.

SELECT * FROM EMPLOYEES UNION ALL SELECT * FROM EMPLOYEE;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene los datos de los empleados y realiza la operación UNION ALL con los datos obtenidos por la segunda consulta SELECT recupera los datos de la tabla de empleados.

El siguiente resultado se muestra como:

Se mostrarán todos los registros de las tablas Empleados y Empleado, los registros duplicados también se mostrarán a medida que realizamos la operación UNION ALL.

Ejemplo 2: Ejecute una consulta para realizar la operación UNION ALL entre la tabla de empleados y la tabla de empleados. Pero muestre solo los registros de los empleados de la tabla de empleados que pertenecen a la ciudad de Mumbai. De la tabla de empleados, solo los registros de aquellos empleados cuyo salario de empleado es 60500 y la ciudad es 'Mumbai'.

SELECT * FROM EMPLOYEES WHERE CITY = 'MUMBAI' UNION ALL SELECT * FROM EMPLOYEE WHERE SALARY = 60500 AND CITY = 'MUMBAI';

En la consulta anterior, hemos utilizado dos consultas SELECT. La consulta First SELECT obtiene solo aquellos registros cuyo empleado pertenece a la ciudad de Mumbai de la tabla Empleados. Y realizar la operación UNION ALL con la segunda consulta SELECT obtiene solo aquellos registros cuyo salario de empleado es 60500 y la ciudad es 'Mumbai' de la tabla de empleados.

El siguiente resultado se muestra como:

Se muestran ambos registros de la tabla, incluidos los registros duplicados a medida que realizamos las operaciones UNION ALL.

Ejemplo 3: Ejecute una consulta para realizar la operación UNION entre la tabla Empleados y la tabla Empleado. Solo queremos aquellos registros de la tabla Empleados cuya ciudad de empleado pertenezca a 'Pune', 'Mumbai' y 'Jaipur'.

SELECT* FROM EMPLOYEES WHERE CITY IN ('PUNE', 'MUMBAI', 'JAIPUR') UNION ALL SELECT * FROM EMPLOYEE;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT recupera los registros cuyos empleados pertenecen a las ciudades de 'Pune', 'Mumbai' y 'Jaipur' de la tabla Empleados. La operación UNION ALL se realiza con los registros recuperados de la segunda consulta SELECT de la tabla employee.

El siguiente resultado se muestra como:

Se muestran ambos registros de la tabla, incluidos los registros duplicados a medida que realizamos las operaciones UNION ALL.

Ejemplo 4: Ejecute una consulta para realizar la operación UNION ALL entre la tabla Manager y la tabla Manager1.

SELECT * FROM MANAGER UNION ALL SELECT * FROM MANAGER1;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene los datos de Manager y realiza operaciones UNION ALL con los datos obtenidos por la segunda consulta SELECT recupera los datos de la tabla manager1.

El siguiente resultado se muestra como:

Se mostrarán todos los registros de las tablas Manager y Manager1; los registros duplicados se muestran a medida que realizamos UNION ALL operaciones.

Operadores de INTERSECCIÓN

El operador de intersección se usa para combinar dos o más instrucciones SELECT, pero solo muestra los datos de forma similar a la instrucción SELECT.

La sintaxis para la operación INTERSECT es la siguiente,

SELECT * FROM TABLE_NAME1 INTERSECT SELECT * FROM TABLE_NAME2;

Ejemplo 1: Ejecute una consulta para realizar la operación INTERSECT entre la tabla Empleados y la tabla Empleado.

SELECT * FROM EMPLOYEES INTERSECT SELECT * FROM EMPLOYEE;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene los datos de los empleados y realiza la operación INTERSECT con los datos obtenidos por la segunda consulta SELECT recupera los datos de la tabla de empleados.

El siguiente resultado se muestra como:

Solo se mostrarán registros similares de ambas tablas, ya que realizamos la operación INTERSECT entre la tabla de empleados y la tabla de empleados.

Ejemplo 2: Ejecute una consulta para realizar la operación INTERSECT entre la tabla Manager y la tabla Manager1.

SELECT * FROM MANAGER INTERSECT SELECT * FROM MANAGER1;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene los datos de Manager y realiza la operación INTERSECT con los datos obtenidos por la segunda consulta SELECT recupera los datos de la tabla Manager1.

El siguiente resultado se muestra como:

Solo se mostrarán registros similares de ambas tablas, ya que realizamos la operación INTERSECT entre la tabla Manager y la tabla Manager1.

Operadores MENOS

El operador MENOS se usa para devolver las filas presentes en la primera consulta pero ausentes en el resto de las consultas sin duplicados.

La sintaxis para la operación MENOS es la siguiente.

SELECT * FROM TABLE_NAME1 EXCEPT SELECT * FROM TABLE_NAME2;

Nota: La palabra clave MINUS solo se admite en las bases de datos ORACLE. Podemos usar la palabra clave EXCEPT para que otras bases de datos realicen una operación similar.

Ejemplo 1: Ejecute una consulta para realizar la operación MENOS entre la tabla Empleados y la tabla Empleado.

SELECT * FROM EMPLOYEES EXCEPT SELECT * FROM EMPLOYEE;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene los datos de los empleados y realiza la operación MENOS con los datos obtenidos por la segunda consulta SELECT recupera los datos de la tabla de empleados.

El siguiente resultado se muestra como:

Solo se mostrarán los registros no coincidentes de ambas tablas, ya que realizamos la operación MENOS entre la tabla Empleados y la tabla Empleado.

Ejemplo 2: Ejecute una consulta para realizar la operación MENOS entre la tabla Administrador y la tabla Administrador1.

SELECT * FROM MANAGER EXCEPT SELECT * FROM MANAGER1;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene los datos de Manager y realiza la operación MENOS con los datos obtenidos por la segunda consulta SELECT recupera los datos de la tabla Manager1.

El siguiente resultado se muestra como:

Solo se mostrarán los registros no coincidentes de ambas tablas, ya que realizamos la operación MENOS entre la tabla Administrador y la tabla Administrador1.