Nota: Para realizar los ejercicios, utiliza la base de datos GestionSimples.
Realizar una consulta que, en su WHERE, compruebe si el registro en cuestión existe como resultado de otra consulta. Para ello, utilizaremos una subconsulta precedida de EXISTS o NOT EXISTS.
Listar los empleados (numemp, nombre y oficina) que no trabajan en oficinas dirigidas por el empleado 108.
SELECT numemp, nombre, oficina FROM empleados WHERE NOT EXISTS (SELECT * FROM oficinas WHERE dir = 108 and empleados.oficina = oficinas.oficina);
Resultado:
numemp | nombre | oficina |
---|---|---|
101 | Antonio Viguer | 12 |
103 | Juan Rovira | 12 |
104 | José González | 12 |
105 | Vicente Pantalla | 13 |
106 | Luis Antonio | 11 |
109 | María Sunta | NULL |
110 | Juan Victor | NULL |
112 | Julián Martorell | NULL |
113 | Juan Gris | NULL |
114 | Pablo Moreno | 13 |
Listar los productos (clave y descripcion) para los cuales no se ha recibido ningún pedido de 10 euros o más.
SELECT idfab, idproducto, descripcion FROM productos WHERE NOT EXISTS (SELECT * FROM pedidos WHERE idfab = fab AND idproducto = producto AND importe >= 10);
Resultado:
idfab | idproducto | descripcion |
---|---|---|
aci | 41001 | arandela |
aci | 4100x | junta |
bic | 41089 | rodamiento |
bic | 41672 | plato |
imm | 775c | reostato 2 |
imm | 887h | caja clavos |
imm | 887p | perno |
imm | 887x | manivela |
qsa | xk48 | red |
qsa | xk8a | red |
Listar las oficinas (oficina, ciudad) que tienen al menos un empleado cuya cuota represente más del 55% del objetivo de la oficina.
SELECT oficina, ciudad FROM oficinas WHERE EXISTS (SELECT * FROM empleados WHERE oficinas.oficina = empleados.oficina AND cuota > (.55 * objetivo));
Resultado:
oficina | ciudad |
---|---|
13 | Castellón |
22 | A Coruña |
Listar los empleados (numemp, nombre y edad) que no dirigen una oficina.
SELECT numemp, nombre, edad FROM empleados WHERE NOT EXISTS (SELECT * FROM oficinas WHERE dir = numemp);
Resultado:
numemp | nombre | edad |
---|---|---|
101 | Antonio Viguer | 45 |
102 | Alvaro Jaumes | 48 |
103 | Juan Rovira | 29 |
107 | Jorge Gutiérrez | 49 |
109 | María Sunta | 31 |
110 | Juan Victor | 41 |
111 | Juan Gris | 50 |
112 | Julián Martorell | 50 |
113 | Juan Gris | 18 |
114 | Pablo Moreno | 45 |
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.