Unidad 6. Ejercicio paso a paso: Subconsultas de resultado único


Nota: Para realizar los ejercicios, utiliza la base de datos GestionSimples.

Objetivo

Realizar consultas que incluyan una subconsulta en la cláusula WHERE. Se realizarán utilizando operadores de comparación.

Ejercicio paso a paso

Listar todos los productos (código, descripción y stock) del fabricante ACI y cuyas existencias superan las existencias del producto ACI-41004.

SELECT idfab, idproducto, descripcion, existencias

FROM productos

WHERE idfab = 'ACI'

AND existencias > (SELECT existencias

			FROM productos

			WHERE idfab = 'ACI' AND idproducto = '41004');

Resultado:

idfab idproducto descripcion existencias
aci 41001 arandela 277
aci 41002 bisagra 167
aci 41003 art 13 207

Listar los empleados (numemp, nombre y edad) que tienen una cuota por encima de la media.

SELECT numemp, nombre, edad

FROM empleados

WHERE cuota > (SELECT AVG(cuota)  FROM empleados);

Resultado:

numemp nombre edad
101 Antonio Viguer 45
102 Alvaro Jaumes 48
103 Juan Rovira 29
105 Vicente Pantalla 37
106 Luis Antonio 52
107 Jorge Gutiérrez 49
108 Ana Bustamante 62
114 Pablo Moreno 45

Obtener cuántos empleados tienen una cuota por encima de la media, y la edad media de estos.

SELECT count(*) AS Cuantos, AVG(edad) AS [Edad Media]

FROM empleados

WHERE cuota > (SELECT AVG(cuota)  FROM empleados);

Resultado:

Cuantos Edad Media
8 45

Listar todas las oficinas cuyos objetivos superan la suma de las cuotas de sus vendedores.

SELECT oficina, ciudad

FROM oficinas

WHERE objetivo > (SELECT SUM(cuota)  FROM empleados WHERE oficina = oficinas.oficina);

Resultado:

oficina ciudad
11 Valencia
12 Alicante

   Inicio    



.