SQL | Cláusula de excepción

En SQL, EXCEPT devuelve las tuplas devueltas por la primera operación SELECT y no devueltas por la segunda operación SELECT.

Esto es lo mismo que usar un operador de resta en álgebra relacional.

Ejemplo:
Supongamos que tenemos dos relaciones, Estudiantes y TA (Asistente de enseñanza). Queremos que regresen todos aquellos alumnos que no sean auxiliares docentes. La consulta se puede formular como:

Mesa de Estudiantes:

Identificación del Estudiante Nombre Curso
1 Rohan SGBD
2 Kevin sistema operativo
3 Mansi SGBD
4 Mansi ADA
5 Reja ADA
6 megha sistema operativo

Tabla de asistencia técnica:

Identificación del Estudiante Nombre Curso
1 Kevin TOC
2 Sita IP
3 maniquí punto de acceso
4 Reja redes sociales
SELECT Name
       FROM Students
EXCEPT
SELECT NAME
       FROM TA;

Producción:

Rohan
Mansi
Megha

Para retener duplicados, debemos escribir explícitamente EXCEPTAL en lugar de EXCEPTO.

SELECT Name
       FROM Students
EXCEPTALL
SELECT Name
       FROM TA;

Producción:

Rohan
Mansi
Mansi
Megha

Diferencia entre EXCEPT y NOT IN La cláusula
EXCEPT elimina automáticamente todos los duplicados en el resultado final, mientras que NOT IN retiene las tuplas duplicadas. También es importante tener en cuenta que EXCEPT no es compatible con MySQL.

Este artículo es una contribución de Anannya Uberoi . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *