INGRESAR

REGISTRARSE
Buscador

      3.6.1. ejemplos - operadores exists y not exists

Selecciona el idioma :

Debes permitir las cookies de Vimeo para poder visualizar el vídeo.

¡Desbloquea el curso completo y certifícate!

Estás viendo el contenido gratuito. Desbloquea el curso completo para obtener tu certificado, exámenes y material descargable.

*Al comprar el curso, te obsequiamos dos cursos a tu eleccion*

*Ver la mejor oferta de la web*

      3.6.1. ejemplos - operadores exists y not exists


Ejemplo operador EXISTS: La consulta mostrará los nombres de todos los profesores, ya que se cumple la consulta interna donde al menos un profesor da clase a una asignatura del segundo año:

  • SELECT NOMBRE FROM PROFESORES WHERE EXISTS ( SELECT * FROM ASIGNATURAS WHERE ANNO = 2).

Ejemplo operador EXISTS con subconsulta correlacional: La consulta mostrará los nombres de los profesores que dan clase a segundo año. Ya que al usar el operador exists en una consulta correlacional, el operador exists actúa como el operador in. Hay que fijarse que en la subconsulta las ids de los profesores de las dos tablas se han relacionado, para crear una consulta correlacional:

  • SELECT NOMBRE FROM PROFESORES P WHERE EXISTS ( SELECT * FROM ASIGNATURAS A WHERE ANNO = 2 AND P.ID_PROFESOR = A.ID_PROFESOR).

La consulta usando el operador IN, obtendria el mismo resultado, ya que el operador exists en consultas correlaciónales actúa como el operador IN:

  • SELECT NOMBRE FROM PROFESORES WHERE ID-PROFESOR IN ( SELECT ID-PROFESOR FROM ASIGNATURAS WHERE AÑO = 2).

Ejemplos operador NOT EXISTS: La consulta, no mostrará ningún resultado, ya que la consulta interna devuelve al menos una fila, pues si existen asignaturas de segundo año, por lo tanto, la condición not exists devuelve false:

  • SELECT NOMBRE FROM PROFESORES WHERE NOT EXISTS ( SELECT * FROM ASIGNATURAS WHERE ANNO = 2).

Si ejecutamos la siguiente consulta se mostrarán los nombres de todos los profesores pues se cumple la subconsulta al no existir asignaturas del 4º año:

  • SELECT NOMBRE FROM PROFESORES WHERE NOT EXISTS ( SELECT * FROM ASIGNATURAS WHERE ANNO = 4).


ejemplos operadores exists not exists

Publicaciones Recientes de oracle sql

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?