martes, 8 de noviembre de 2016

INTERSECT


El operador INTERSECT devuelve las filas que son comunes a ambas consultas.



Utilice el operador INTERSECT para devolver las filas que son comunes a varias consultas.
Instrucciones

El número de columnas y los tipos de datos de las columnas que se están seleccionando mediante las sentencias SELECT deben ser idénticos en todas las sentencias SELECT utilizadas en la consulta. No es necesario que los nombres de las columnas sean idénticos.
Invertir el orden de las tablas interseccionadadas no altera el resultado.
INTERSECT no ignora los valores NULL.

Muestre los identificadores de empleado y de puesto de los empleados que actualmente tengan un cargo igual al que tenían cuando se los contrató inicialmente (es decir, han cambiado de puesto pero han vuelto a ocupar su puesto original).

SELECT employee_id, job_id
FROM   employees
INTERSECT
SELECT employee_id, job_id
FROM   job_history;



En el ejemplo, la consulta devuelve los registros que tienen los mismos valores en las columnas seleccionadas en ambas tablas.

¿Cuáles serán los resultados si agrega la columna DEPARTMENT_ID a la sentencia SELECT de la tabla EMPLOYEES y agrega la columna DEPARTMENT_ID a la sentencia SELECT de la tabla JOB_HISTORY y ejecuta esta consulta?

Los resultados pueden ser diferentes debido a la introducción de otra columna cuyos valores puedan ser duplicados o no.

Ejemplo:

SELECT employee_id, job_id, department_id
FROM   employees
INTERSECT 
SELECT employee_id, job_id, department_id
FROM   job_history;


El empleado 200 ya no forma parte de los resultados porque el valor de EMPLOYEES.DEPARTMENT_ID es diferente al valor de JOB_ HISTORY.DEPARTMENT_ID.

Share:

0 comentarios:

Publicar un comentario

Archivo

Cual es el tema de mayor interes para ti?