Sep 05 Sub Consulta
Sep 05 Sub Consulta
Sep 05 Sub Consulta
CURSO
BASE DE DATOS II
SEPARATA 05
SUB CONSULTAS
DOCENTE
MG. ING. EDWIN IVAN FARRO PACIFICO
HUACHO – LIMA
Universidad San Pedro
SUBCONSULTAS
Una subconsulta es una consulta SELECT que devuelve un valor único y está anidada en una
instrucción SELECT,INSERT,UPDATE o DELETE, o dentro de otra subconsulta.
Ejemplo 1
Listar las columnas idpedido, fechapedido y el máximo precio unitario en el pedido.
Ejemplo 2
Listar los productos con precio unitario igual o mayor al mayor precio de los artículos que son
abastecidos por el proveedor con idproveedor igual a 1.
Ejemplo 3
Listar el nombrecompañía, ciudad y país de los clientes que sean igual al país de Antonio Moreno
Taquería
SELECT nombrecompañía,ciudad,país
FROM clientes
WHERE país IN
(SELECT país FROM clientes
WHERE nombrecompañía='Antonio Moreno Taquería')
Ejemplo 4
Listar el nombrecompañía, ciudad y país de los clientes que residan en un país diferente al de
Antonio Moreno Taqueía
SELECT nombrecompañía,ciudad,país
FROM clientes
WHERE país NOT IN (SELECT país
FROM clientes
WHERE nombrecompañía='Antonio Moreno taquería')
SELECT idcliente,nombrecompañía
FROM clientes AS c1
WHERE EXISTS
(SELECT * FROM clientes AS c2 INNER JOIN pedidos AS p
ON c2.idcliente=p.idcliente
WHERE c1.idcliente=c2.idcliente)
Ejemplo 6
Muestrame lo clientes que no han realizado pedidos
SELECT c.idcliente,c.nombrecompañía
FROM clientes AS c
WHERE NOT EXISTS
(SELECT * FROM clientes as c1 INNER JOIN pedidos AS p
ON c1.idcliente=p.idcliente
WHERE c.idcliente=c1.idcliente)
SUBCONSULTAS ANIDADAS
Una subconsulta puede incluir en sí una o varias subconsultas. En una instrucción se puede añadir
cualquier número de consultas
Ejemplo 7
Muestrame los pedidos y fecha de pedido que hayan adquirido el café de Malasia
Ejemplo 8
Listar todos los empleados que atendieron a Antonio Moreno Taquería
SELECT apellidos,Nombre,cargo
FROM empleados
WHERE idempleado IN
(SELECT idempleado FROM pedidos
WHERE idcliente IN
(SELECT idcliente FROM clientes
WHERE nombrecompañía='Antonio Moreno Taquería'))
Ejemplo 9
Muestra el número total de artículos pedidos y además el monto total
Ejemplo 10
Listar el promedio de precios de los artículos que abastece el proveedor Tokyo Traders
Ejemplo 11
Mostrar el precio máximo y el precio mínimo de los productos abastecidos por el proveedor
Pavlova,Ltd
Ejemplo 12
Mostrar cuantos clientes residen en Alemania
Ejemplo 13
Mostar cuantos pedidos realizó HILARIÓN-ABASTOS
Ejemplo 14
Muéstrame cuantos productos existen por categoría
Ejemplo 15
Listar el número de unidades vendidas de cada producto que pertenecen a la categoría 4
SELECT p.idproducto,SUM(dp.cantidad)
FROM productos As p INNER JOIN [detalles de pedidos] AS dp
ON p.idproducto=dp.idproducto AND p.idcategoría=4
GROUP BY p.idproducto
ORDER BY p.idproducto
Ejemplo 16
Listar los apellidos de los empleados y la cantidad de pedidos que atendió cada empleado.
SELECT e.apellidos,e.nombre,COUNT(p.idpedido)
FROM empleados As e INNER JOIN pedidos AS p
ON e.idempleado=p.idempleado
GROUP BY e.apellidos,e.nombre
ORDER BY e.apellidos
Ejemplo 17
Listar los idpedido, número de artículos en el pedido y el subtotal con la condición que el subtotal
sea superior a 1000
Operador CUBE
Ejemplo 18
Listar los empleados y el número de pedidos que atendieron por cada año.
Operador ROLLUP
Ejemplo 19
Cláusula TOP
Ejemplo 20
Listar los 5 productos más caros