Apuntes
Subconsultas

Contenido del apunte (2)
Página 1
Subconsultas
Una subconsulta es una consulta anidada en un SELECT, INSERT, UPDATE o DELETE e inclusive en otra subconsulta. Las subconsultas se pueden utilizar en cualquier parte en la que se permita una expresión. Las subconsultas deben seguir ciertas reglas que mas adelante se mencionan. Es necesario conocer la estructura de la base de datos para poder relacionar las tablas correctamente y lograr los resultados esperados. Los resultados obtenidos con subconsultas se pueden también obtener con el uso de Joins.
Las subconsultas pueden utilizarse de dos formas:
1. Dentro de la Lista de campos de la instrucción Select, esta subconsulta es la que reporta un valor. Se debe relacionar la tabla después del From con la tabla de la Subconsulta.
select ListaCampos, (Select …. subconsulta) from Tabla
2. En las clásulas Where
Select ListadeCampos, OtroCampo, UltimoCampo from Tabla
WHERE Campo [NOT] IN (subconsulta)
WHERE Campo operador [ANY | ALL] (subconsulta)
WHERE [Not] Exists (subconsulta)
Ejemplos
De acuerdo a la base de datos Biblioteca dada en clase con sus tablas respectiva se pide escribir las instrucciones
para consultar las tablas Estudiante y Prestamos para mostrar el nombre del estudiante, la escuela a la que pertenece y la cantidad de prestamos realizados la biblioteca
En el siguiente ejemplo de la forma: select ListaCampos, (Select …. subconsulta) from Tabla
Donde la subconsulta cuyo resultado se agrega como una columna mas de la primera consulta.
Se muestra el nombre del Estudiante, la Carrera que estudia y la cantidad de préstamos realizado por cada uno de los estudiantes.
Se empareja el idlector de la tabla Prestamo con el idlector de la tabla Estudiante.

Página 2
¿Qué son las subconsultas?
Las subconsultas son consultas que están anidadas dentro de otra consulta. Se les permite siempre que sea tomadas por el SQL Server como una expresión, y se indican encerrando la subconsulta entre paréntesis. Por ejemplo, utilizando la base de datos de ejemplo Estudiantes, podríamos crear una consulta para encontrar estudiante que tienen más vacaciones disponibles a la media:
--Obtener todos los estudiantes cuyas edades son menores que la media de edades
use biblioteca
select * from estudiante
where edad < (select avg(edad) from estudiante)
En este caso se obtienen todos los datos los estudiantes cuyas edades son inferiores al promedio, que se obtiene como consecuencia de la consulta interna que devuelve la media de edades.
idLector CI Nombre Direccion Carrera Edad
1 80020 Juan Garcia Perez AV.los pinos Informatica 19
2 80021 Raul Valdez Alanes AV.Grau Informatica 20
3 80022 Rosa Mena Paredes AV.los girasoles Derecho 22
4 80023 Percy Rojas Cabrera Los tallanes Ingenieria Civil 18
Información
- Descripción
- Cuarto Practica (Ciclo de Nivelación 2020 UNP) Analisis de Sistemas II Apunte sobre Subconsultas, creado por jorge sandoval rivera el 24/03/2020.
- Creado por
- jorge sandoval rivera
- Visitas
- 117
- Valoración