INTERSECT y EXCEPT
Combina los resultados de dos consultas: conserva las filas que están en ambas (INTERSECT) o solo en la primera (EXCEPT).
Sintaxis
query1 INTERSECT query2;query1 EXCEPT query2;
- Ambas consultas necesitan el mismo número de columnas, con tipos compatibles.
- Ambas eliminan duplicados. Añade ALL para conservarlos. Oracle llama MINUS a EXCEPT.
Ejemplo
SELECT city FROM customers EXCEPT SELECT 'Paris' ORDER BY city;
Todas las ciudades de los clientes excepto París.
Tablas usadas: customers. Pruébalo en una lección de abajo.
Errores comunes
- EXCEPT no es simétrico: A EXCEPT B es distinto de B EXCEPT A.
- Aquí los NULL se consideran iguales, a diferencia de una comparación normal.