Aparecen en la tabla resultante las filas de la primera consulta que no aparecen en la segunda.
Las condiciones son las mismas que las de la unión.
{<consulta>|(<consulta>)} EXCEPT {<consulta>|(<consulta>)} [{EXCEPT {<consulta>|(<consulta>)}}[ ...n ] ] [ORDER BY {expression_columna|posicion_columna [ASC|DESC]} [ ,...n ]]
Por ejemplo tenemos las tablas T1 y T2.
T1 | T2 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
SELECT cod FROM T1 EXCEPT SELECT codigo FROM T2;
Devuelve:
Cod |
---|
1 |
6 |
Ejemplo:
Listar los productos que no aparezcan en ningún pedido.
SELECT idfab, idproducto FROM productos EXCEPT SELECT DISTINCT fab, producto FROM pedidos;
Para practicar puedes realizar este Ejercicio La diferencia EXCEPT.
Tiene una sintaxis parecida a las anteriores pero en el resultado de la intersección aparecen las filas que están simultáneamente en las dos consultas.
Las condiciones son las mismas que las de la unión.
{ <consulta>|(<consulta>)} INTERSECT {<especificacion_consulta>|(<especificacion_consulta>)} [{INTERSECT {<consulta>|(<consulta>)}} [ ...n ] ] [ORDER BY {expression_columna|posicion_columna [ASC|DESC]} [ ,...n ]]
Retomando el ejemplo anterior:
SELECT cod FROM T1 INTERSECT SELECT cod FROM T2;
Devuelve:
Cod |
---|
2 |
4 |
5 |
Ejemplo: Obtener todos los productos que valen más de 20 euros y que además se haya vendido en un pedido más de 300 euros de ese producto.
SELECT idfab, idproducto FROM productos WHERE precio > 20 INTERSECT SELECT fab, producto FROM pedidos WHERE importe > 300;
Para practicar puedes realizar este Ejercicio La intersección INTERSECT.
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.