Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las subconsultas, al igual que las operaciones con las que se relacionan tablas (join), son una forma de
recuperar datos de múltiples tablas con una sola consulta. Las subconsultas pueden ser parte de las
instrucciones SELECT, UPDATE o DELETE, sirven para recuperar información de una consulta previa a la
ejecución de la instrucción en cuestión.
Una subconsulta es una instrucción SELECT “interna” a una instrucción “externa”, los datos consultados en la
subconsulta sirven como entrada o condición para la ejecución de la instrucción externa.
Para SELECT, se puede utilizar tres formas de sintaxis para una subconsulta, partiendo de la siguiente
estructura:
La cláusula ALL se utiliza para recuperar los renglones del SELECT principal que cumplan con la comparación
de todos los renglones recuperados en la subconsulta. Si se cambia ANY por ALL en el ejemplo anterior, la
consulta devolverá los renglones en los que PRIMER_DEP sea mayor que el de todos los valores de
PROMEDIO.
La cláusula NOT IN considera en el resultado todos los valores que no se encuentran en la subconsulta.
La cláusula EXISTS (con NOT opcional) evalúa verdad/falso para determinar si la subconsulta regresa
algún renglón.
Instrucción SQL : Es una instrucción SELECT, con formato y reglas que cualquier instrucción SELECT.
1. Realiza una consulta para grupos por profesor, incluye: Clave de la secuencia, Clave de la Unidad de Aprendizaje y Nombre del profesor.
SELECT CVE_SECUENCIA, CVE_UAP, (SELECT NOMBRE_PROFESOR FROM PROFESOR WHERE GRUPO.NO_PROFESOR = PROFESOR.NO_PROFESOR)
FROM GRUPO
2. Realiza una consulta para obtener los grupos del profesor “MOTA MARQUEZ OSCAR”, incluye: Clave de la secuencia, Clave de la Unidad de
Aprendizaje y Nombre del profesor.
--DOS INSTRUCCIONES
SELECT * FROM PROFESOR WHERE NOMBRE_PROFESOR = 'MOTA MARQUEZ OSCAR'
SELECT CVE_SECUENCIA, CVE_UAP, (SELECT NOMBRE_PROFESOR FROM PROFESOR
WHERE GRUPO.NO_PROFESOR = PROFESOR.NO_PROFESOR) NOMBRE
FROM GRUPO
WHERE NO_PROFESOR = '406'
--SOLO UNA CONSULTA CON SUBCONSULTAS EN LA LISTA DE COLUMNAS Y EN LA CLÁUSULA WHERE
SELECT CVE_SECUENCIA, CVE_UAP, (SELECT NOMBRE_PROFESOR FROM PROFESOR WHERE GRUPO.NO_PROFESOR = PROFESOR.NO_PROFESOR) NOMBRE
FROM GRUPO
WHERE NO_PROFESOR = (SELECT NO_PROFESOR FROM PROFESOR WHERE NOMBRE_PROFESOR = 'MOTA MARQUEZ OSCAR')
3. Realiza una actualización en la tabla adecuada para reasignar el grupo de secuencia “4NV41” de la UAp “N21-N404” del profesor “MOTA
MARQUEZ OSCAR”, reasignandoselos a la maestra “SALAS CRUZ ROCIO LETICIA”.
--DOS INSTRUCCIONES
SELECT * FROM PROFESOR WHERE NOMBRE_PROFESOR = 'SALAS CRUZ ROCIO LETICIA'
UPDATE GRUPO
SET NO_PROFESOR = '536'
WHERE NO_PROFESOR = (SELECT NO_PROFESOR
FROM PROFESOR
WHERE NO_PROFESOR = '406' AND CVE_SECUENCIA = '4NV41' AND CVE_UAP = 'N21-N404')
4. Realiza una actualización en la tabla adecuada para reasignar los grupos del profesor “MOTA MARQUEZ OSCAR”, reasignandoselos a la
maestra “SALAS CRUZ ROCIO LETICIA”.
-- 3 INTRUCCIONES
SELECT * FROM PROFESOR WHERE NOMBRE_PROFESOR = 'SALAS CRUZ ROCIO LETICIA'
SELECT * FROM PROFESOR WHERE NOMBRE_PROFESOR = 'MOTA MARQUEZ OSCAR'
UPDATE GRUPO SET NO_PROFESOR = '536' WHERE NO_PROFESOR = '406'
5. Borra aL alumno “Kevin Ortiz Castro” de la tabla CALIFICACIONES_SEMESTRE, pues se dio de baja temporal .
--DOS INSTRUCCIONES
SELECT BOLETA, NOMBRE_ALUMNO FROM ALUMNO WHERE NOMBRE_ALUMNO = 'Kevin Ortiz Castro'
DELETE FROM CALIFICACIONES_SEMESTRE WHERE BOLETA = '2022601822'
Preguntas: