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. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.