Está en la página 1de 4

Operación de conjuntos

“Interseccion”

Estos operadores permiten obtener en una


consulta filas procedentes de consultas
diferentes pero que usan el mismo formato .
El resultado de cada consulta es un conjunto
de filas. Y con conjuntos se pueden realizar
tres operaciones típicas: la unión, la
intersección y la diferencia.
INTERSECCION
• Intersección, INTERSECT
La operación de intersección permite identificar filas que son comunes en dos
relaciones. Supongamos que tenemos una tabla de empleados y otra tabla con los
asistentes que han realizado un curso de inglés (los asistentes pueden ser
empleados o gente de la calle). Queremos crear una figura virtual en la tabla
denominada "Empleados que hablan Inglés", esta figura podemos crearla
realizando una intersección de empleados y curso de inglés, los elementos que
existan en ambas tablas serán aquellos empleados que han asistido al curso.
Examinará las filas de los conjuntos de entrada y devolverá aquellas que aparezcan
en ambos. Todas las filas duplicadas serán eliminadas antes de la generación del
conjunto resultante. Asistentes
curso de Solución
empleados ingles
Jorge Ana Alex Jorge Miguel
Leo Ana
Alex Jorge Luz
Ana Miguel
leo Luz
INTERSECCION
Como cualquier otra operación de conjuntos, "intersect" se emplea cuando los
datos que se quieren obtener pertenecen a distintas tablas y no se puede acceder
a ellos con una sola consulta. 
Del mismo modo, las tablas referenciadas DEBEN tener tipos de datos similares, la
misma cantidad de campos y el mismo orden de campos en la lista de selección de
cada consulta que intervenga en la intersección.
"intersect" devuelve la intersección de las consultas involucradas; es decir, el
resultado retornará los registros que se encuentran en la primera y segunda
consulta (y demás si las hubiere), o sea, los registros que todas las consultas tienen
en común.
OJO
No olvide que las consultas DEBEN tener el mismo numero de valores retornados
y los valores deben ser del mismo tipo.
• Sintaxis:
SENTENCIASELECT1 intersect SENTENCIASELECT2;
EJEMPLO # 2
• Una academia de enseñanza de idiomas da clases de inglés, francés y portugués;
almacena los datos de los alumnos que estudian inglés en una tabla llamada
"ingles", los que están inscriptos en "francés" en una tabla denominada "francés" y
los que aprenden portugués en la tabla "portugués".
La academia necesita el nombre y domicilio de todos los alumnos que cursan los tres
idiomas para enviarles una tarjeta de descuento.
Para obtener los datos necesarios de las tres tablas en una sola consulta
necesitamos realizar una intersección:
select nombre, domicilio from ingles
intersect
select nombre, domicilio from francés
intersect
select nombre, domicilio from portugués;
• El primer "select" devuelve el nombre y domicilio de todos los estudiantes de inglés;
el segundo, el nombre y domicilio de todos los inscriptos a francés y la tercera los
mismos campos de los alumnos de "portugués". Esta sentencia de intersección
retornará los registros que coinciden en las tres consultas "select".
"intersect" puede combinarse con la cláusula "order by".

También podría gustarte