3.5.1. Ejemplos -Operadores para Subconsultas multi-registro
Ejemplo operador IN: La subconsulta interna devuelve las ids de los profesores que imparten clases del segundo año. Y la consulta muestra los nombres de los proferores que tienen una id igual a cualquiera de las ids, que devuelve la subconsulta:
- SELECT NOMBRE FROM PROFESORES WHERE ID_PROFESOR IN ( SELECT ID_PROFESOR FROM ASIGNATURAS WHERE ANNO=2).
Ejemplo operador = ANY: Esta consulta devolverá los mismos datos que la anteriror, ya que los dos operadores tienen la misma funciones:
- SELECT NOMBRE FROM PROFESORES WHERE ID_PROFESOR = ANY ( SELECT ID_PROFESOR FROM ASIGNATURAS WHERE ANNO=2).
Ejemplo operador ANY: La subconsulta de vuelve las horas de todas las asignaturas del primer año. Y la consulta padre muestra todas las asignaturas del segundo año, si dicha asignatura tienes más horas que cualquier hora devuelta por la subconsulta:
- SELECT ASIGNATURA FROM ASIGNATURAS WHERE ANNO = 2 AND CANTHORAS ANY (SELECT CANTHORAS FROM ASIGNATURAS WHERE ANNO = 1).
Ejemplo operador « ANY: La subconsulta devuelve las horas de todas las asignaturas del primer año, y la consulta padre muestra las asignaturas del segundo año cuyas horas sean menor a cualquier hora devuelta por la subconsulta:
- SELECT ASIGNATURA FROM ASIGNATURAS WHERE ANNO = 2 AND CANTHORAS « ANY (SELECT CANTHORAS FROM ASIGNATURAS WHERE ANNO = 1).
Ejemplo operador ALL: La subcontula devuelve las horas de las asignaturas del segundo año y la consulta muestra las asignaturas del primer año cuyas horas sea mayor a todas las horas devueltas por la subconsulta:
- SELECT ASIGNATURA FROM ASIGNATURAS WHERE ANNO = 1 AND CANTHORAS ALL ( SELECT CANTHORAS FROM ASIGNATURAS WHERE ANNO = 2).
Ejemplo operador « ALL: La subconsulta devuelve las horas de todas las asignaturas del segundo año y la consulta muestra las asignaturas del primer año cuyas horas sean menos a todas las horas que devuelve la subconsulta:
- SELECT ASIGNATURA FROM ASIGNATURAS WHERE ANNO = 1 AND CANTHORAS « ALL ( SELECT CANTHORAS FROM ASIGNATURAS WHERE ANNO = 2).
ejemplos operadores subconsultas muti registro