You are on page 1of 19

UNIVERSIDAD DE MANIZALES

DIPLOMADO DE DESARROLLO DE SOFTWARE MATERIA: BASES DE DATOS PRESENTADO POR: ALEXANDRA SANTA MUOZ

PROFESOR: LUIS BERTEL

MANIZALES, ABRIL DE 2014 TALLER DE CONSULTAS Resuelva las siguientes preguntas con lgebra relacional y su respectiva consulta en SQL. El estudiante debe dar evidencia de los resultados de las consultas. 1. Liste las oficinas de ventas mostrando la ciudad en donde cada una est localizada y sus ventas anuales hasta la fecha. SELECT ciudad, ventas, FROM oficinas 2. Liste los nombres y las ventas anuales hasta la fecha para cada vendedor de la base de datos. Tambin muestre la cuota (objetivo de venta) y el nmero de oficina en donde cada persona trabaja. Select repventas.nombre, repventas.ventas * 12 AS ventas_anuales, repventas.cuota, oficinas.objetivo, oficinas.oficina from repventas, oficinas 3. Calcule el valor en la cual cada vendedor est por encima o por debajo de su cuota. 4. Indique los vendedores cuyas ventas son inferiores a sus cuotas. Select num_empl, nombre, ventas, cuota from repventas where ventas<cuota; 5. Cul es el valor promedio de un pedido en la base de datos. Select avg (importe) From pedidos 6. Cul es el valor promedio de todos los pedidos realizados por el cliente 2103. select avg(importe), clie from pedidos where clie=2103 group by pedidos.clie; 7. Halla el valor total de los pedidos solicitados por cada cliente.

select sum(importe),sum(cant),clie from pedidos where pedidos.clie=importe*cant group by pedidos.clie; 8. Calcule las ventas de cada oficina como porcentaje de su cuota objetivo. 9. Liste las oficinas cuyas ventas son superiores a $50.000 por encima del objetivo de venta. Select oficina, objetivo, ventas From oficinas Where ventas=objetivo+50000; 10. Liste los vendedores contratados en 1988. SELECT * FROM repventas WHERE extract(year from contrato)=1988; 11. Liste de las oficinas de ventas con sus objetivos de ventas y sus ventas reales. SELECT oficina, objetivo, ventas from oficinas 12. Lista de las oficinas de ventas en la regin OESTE, con sus objetivos y ventas. select oficina, region, objetivo, ventas from oficinas where region='OESTE'; 13. Liste las oficinas de ventas de la regin OESTE cuyas ventas excedan a sus objetivos. Select oficina, regin, objetivo, ventas From oficinas Where regin= 'OESTE' AND ventas>objetivo; 14. Cules son los objetivos y ventas promedio para las oficinas de la regin ESTE? Select regin, objetivo, avg(ventas) From oficinas Where regin='ESTE' Group by oficinas. regin, oficinas.objetivo;

15. Liste los nombres, oficinas y fechas de contrato de todos los vendedores. select nombre, oficina_rep, contrato from repventas 16. Cul es el nombre, cuota y ventas del empleado nmero 107? SELECT nombre, cuota, ventas FROM repventas WHERE num_empl = 107 17. Cules son las ventas promedio de nuestros vendedores? SELECT avg (ventas) From repventas 18. Liste el nombre y la fecha de contrato de cualquier vendedor cuyas ventas sean superiores a $500.000. Select nombre, contrato, ventas From repventas Where ventas > 500000; 19. Lista de los vendedores, sus cuotas y sus directores. SELECT nombre, cuota, director FROM repventas 20. Lista de la ciudad, regin y ventas de cada oficina. SELECT ciudad, regin, ventas From oficinas 21. Liste la ciudad, la regin y el importe por encima o por debajo del objetivo para cada oficina. Select oficina, ciudad, regin, objetivo From oficinas Where ventas<objetivo and ventas>objetivo; 22. Muestre el valor del inventario para cada producto. SELECT id_producto, (existencias * precio) FROM productos;

23. Muestre qu suceder si se eleva la cuota de cada vendedor un 3% de sus ventas anuales hasta la fecha correspondiente. 24. Liste el nombre, el mes y el ao de contrato para cada vendedor. SELECT nombre, extract(month from contrato), extract(year from contrato) FROM repventas 25. Liste las ventas para cada ciudad. SELECT ventas, ciudad FROM oficinas 26. Muestre todos los datos de la tabla oficinas. SELECT * from oficinas 27. Liste los nmeros de empleados de todos los directores de las oficinas de ventas. SELECT num_empl, director,oficina_rep from repventas 28. Liste los nmeros de empleado de todos los directores de oficina de ventas. SELECT num_empl, director,oficina_rep from repventas

29. Muestre las oficinas en donde las ventas exceden al objetivo. SELECT oficina from oficinas where ventas> objetivo; 30. Muestre el nombre, las ventas y la cuota del empleado nmero 105. SELECT nombre, ventas, cuota FROM repventas WHERE num_empl = 105 31. Muestre los empleados dirigidos por Bob Smith (empleado 104). SELECT num_empl, nombre FROM repventas

WHERE director = 104; 32. Halle los vendedores contratados antes de 1988. SELECT * FROM repventas WHERE extract(year from contrato)<1988; 33. Liste las oficinas cuyas ventas estn por debajo del 80% del objetivo. 34. Liste las oficinas no dirigidas por el empleado nmero 108. select oficina_rep, num_empl from repventas where (num_empl = 108) is not null; 35. recupere el nombre y el lmite de crdito del cliente nmero 2107. select num_clie, empresa, limite_credito from clientes where num_clie=2107; 36. Liste los vendedores que superan sus cuotas. select num_empl, cuota, ventas from repventas where ventas>cuota; 37. Liste los vendedores que estn por debajo o en su cuota. select num_empl, nombre, ventas, cuota from repventas where(ventas<cuota or ventas=cuota); 38. Liste los vendedores cuyas ventas no estn entre el 80 y el 120% de su cuota. 39. Liste los vendedores que trabajan en New York, Atlanta o Denver. Select nombre From repventas where oficina_rep in (select oficina from oficinas where ciudad in ('New York, Atlanta', 'Denver'));

40. Halle todos los pedidos remitidos un jueves en enero de 1990. select * from pedidos where extract(day from fecha_pedido)=4 and extract(month from fecha_pedido)=1 and extract(year from fecha_pedido)=1990; 41. Halle todos los pedidos obtenidos por los vendedores 107, 109, 101 y 103. select rep, num_pedido from pedidos where rep in(107,109,101,103); 42. Muestre el lmite de crdito de la empresa Smithson Corp. Select limite_credito, empresa From clientes Where empresa = 'SMITHSON CORP'; 43. Halle los productos cuyo id comience con las cuatro letras "A%BC" Select id_producto, descripcin From productos Where id_producto like 'A%BC'; 44. Halle el vendedor que an no tiene asignada una oficina Select num_empl, nombre, oficina_rep From repventas Where oficina_rep is null 45. Liste los vendedores a los que se les ha asignado una oficina. select num_empl, nombre, oficina_rep from repventas where oficina_rep is not null 46. Halle los vendedores que estn por debajo de la cuota o con ventas inferiores a $300.000. Select num_empl, nombre, cuota, ventas from repventas where(ventas<cuota or ventas<300000);

47. Halle los vendedores que estn por debajo de la cuota y tienen ventas inferiores a $300.000. select num_empl, nombre, cuota, ventas from repventas where(ventas<cuota and ventas<300000); 48. Halle todos los vendedores que estn por debajo de la cuota, pero cuyas ventas no son inferiores a $150.000. select num_empl, nombre, cuota, ventas from repventas where(ventas<cuota and ventas>150000); 49. Halle todos los vendedores que: a) trabajan en Denver, New York o Chicago; b) no tienen director y fueron contratados a partir de junio de 1988, o c) estn por encima de la cuota, pero tienen ventas de $600.000 o menos. select oficinas.ciudad, repventas.director, repventas.contrato, repventas.cuota, repventas.ventas from oficinas, repventas where oficinas.ciudad in ('Denver','New York, chicago') and director is null and extract(month from contrato)=6 and extract(year from contrato)=1988 or repventas.ventas>cuota and repventas.ventas<=600000;

50. Muestra las ventas de cada oficina, ordenadas en orden alfabtico por regin, y dentro de cada regin por ciudad. Select regin, ciudad, ventas From oficinas Order by regin, ciudad; 51. Liste las oficinas, clasificadas en orden descendente de ventas, de modo que las oficinas con mayores ventas aparezcan en primer lugar. select sum(ventas) from oficinas group by oficinas.ventas order by ventas desc;

52. Lista las oficinas, clasificadas en orden descendente de rendimiento de ventas, de modo que las oficinas con mejor rendimiento aparezcan primero. select * from oficinas order by objetivo desc 53. Liste las oficinas, clasificadas en orden alfabtico por regin, y dentro de cada regin en orden descendente de rendimiento de ventas. select * from oficinas order by region, ciudad, ventas desc 54. Liste todos los productos cuyo precio exceda de $2.000. Select id_producto, precio From productos Where precio>2000; 55. Liste todos los productos para los cuales ms de $30.000 del producto hayan sido ordenados en un solo pedido. 56. Liste todos los productos en donde el precio del producto exceda de $2.000 o en donde ms de $30.000 del producto haya sido ordenado en un solo producto. select productos.id_producto, productos.precio, productos.precio from productos, pedidos where productos.precio>2000 or productos.precio= 30000; 57. Liste todos los productos en donde el precio del productos supera a $2.000 o en donde de $30.000 del producto han sido ordenados en un solo pedido, clasificados por fabricante y nmero de producto. select * from productos where productos.precio>2000 or productos.precio= 30000 order by id_fab, id_producto 58. Liste todos los pedidos mostrando su nmero, importe, nmero de cliente y el ndice de crdito del cliente.

Select pedidos.num_pedido, pedidos.importe, clientes.num_clie, clientes.limite_creditoFrom pedidos, clientes 59. Liste cada uno de los vendedores y la ciudad y regin en donde trabaja. 60. Liste las oficinas y los nombres y ttulos de sus directores. select oficina_rep, repventas.nombre, repventas.director, repventas.titulo from repventas 61. Liste las oficinas con un objetivo superior a $600.000. Select oficina, objetivo From oficinas Where objetivo > 600000; 62. Liste todos los pedidos, mostrando los importes y las descripciones del producto. select pedidos.num_pedido, pedidos.importe, productos.descripcion from pedidos, productos 63. Liste los pedidos superiores a $250.000, incluyendo el nombre del vendedor que tom el pedido y el nombre del cliente que lo solicit. Select repventas.nombre, clientes.empresa, pedidos.num_pedido, pedidos.importe From repventas Inner join pedidos On (repventas.num_empl=pedidos.rep) Inner join clientes On (clientes.num_clie=pedidos.clie) Where (pedidos.importe>250000); 64. Lista los pedidos superiores a $25.000, mostrando el nombre del cliente que remiti el pedido y el nombre del vendedor asignado a ese cliente. Select repventas.nombre, clientes.empresa, pedidos.num_pedido, pedidos.importe From repventas Inner join pedidos On (repventas.num_empl=pedidos.rep) Inner join clientes On (clientes.num_clie=pedidos.clie) Where (pedidos.importe>25000);

65. Liste los pedidos superiores a $25.000, mostrando el nombre del cliente que lo orden, el vendedor asociado al cliente y la oficina en donde el vendedor trabaja. Select clientes.empresa, repventas.nombre, repventas.oficina_rep, pedidos.num_pedido, pedidos.importe From repventas Inner join pedidos On (repventas.num_empl=pedidos.rep) Inner join clientes On (clientes.num_clie=pedidos.clie) Where (pedidos.importe>25000);

66. Halle todos los pedidos recibidos en los das en que un nuevo vendedor fue contratado. 67. Liste todas las combinaciones de vendedores y oficinas en donde la cuota del vendedor es superior al objetivo de la oficina. Select repventas.num_empl, repventas.nombre, repventas.oficina_rep, oficinas.objetivo, repventas.cuota From oficinas, repventas Where cuota>objetivo 68. Muestre las ciudades en donde las ventas superan al objetivo. select ciudad, ventas, objetivo from oficinas where ventas>objetivo 69. Muestre todos los vendedores con ventas superiores a $350.000. Select repventas.num_empl, repventas.nombre, repventas.ventas From repventas Where ventas > 350000; 70. Muestre el nombre, las ventas y la oficina de cada vendedor. Select nombre, ventas, oficina_rep From repventas 71. Liste los nombres de los vendedores y sus directores.

Select nombre, director From repventas 72. Lista los vendedores con una cuota superior a la de su director. select empleado.num_empl, empleado.nombre from repventas As empleado inner join repventas on (empleado.num_empl=repventas.director) where empleado.cuota>repventas.cuota; 73. Liste los vendedores que trabajan en diferentes oficinas que sus directores, mostrando el nombre y la oficina en donde trabaja cada uno. 74. Liste los nombres, cuota y cumpleaos de los vendedores. select nombre,cuota, edad from repventas 75. Muestre todas las combinaciones posibles de vendedor y ciudades. select oficinas.ciudad, repventas.num_empl from repventas, oficinas 76. Muestre todos los vendedores y las ciudades en donde trabajan. select repventas.num_empl,repventas.nombre, oficinas.ciudad from repventas, oficinas 77. Liste el nombre y la empresa y todos los pedidos para el nmero de cliente 2103. select clientes.num_clie, clientes.empresa, sum(pedidos.cant) from clientes, pedidos where clientes.num_clie=2103 group by clientes.num_clie; 78. Liste los vendedores y las oficinas en que trabajan. Select num_empl, nombre, oficina_rep From repventas 79. Liste los vendedores y las ciudades en que trabajan. select repventas.num_empl, oficinas.oficina, oficinas.ciudad

from repventas, oficinas 80. Cul es la cuota promedio y las ventas promedio de los vendedores? Select nombre, avg (cuota), avg (ventas) From repventas Group by (num_empl) 81. Cul es el rendimiento de cuota promedio de los vendedores? select avg(cuota), num_empl from repventas group by num_empl 82. Cules son las cuotas y ventas totales para todos los vendedores? Select sum (cuota), sum(ventas) From repventas 83. Cul es el total de los pedidos aceptados por Bill Adams? select repventas.nombre, sum(pedidos.cant) from pedidos, repventas where repventas.nombre='BILL ADAMS' group by repventas.nombre; 84. Calcule el precio medio de los productos del fabricante ACI. select id_fab,avg(precio) from productos where id_fab='ACI' group by id_fab; 85. Calcule el tamao medio de un pedido ordenado por Acme Mfg. Select avg(pedidos.cant),clientes.empresa From pedidos, clientes Where clientes.empresa='ACME MFG' Group by clientes.empresa; 86. Cules son las cuotas asignadas mnima y mxima?

Select MIN(cuota), MAX(cuota) From repventas 87. Cul es la fecha de pedido ms antigua en la base de datos? select MIN(fecha_pedido) FROM pedidos 88. Cul es el mejor rendimiento de ventas de todos los vendedores? select Max(ventas),sum(repventas.num_empl) FROM repventas group by repventas.num_empl 89. Cuntos clientes hay? SELECT num_clie, COUNT(*) FROM clientes GROUP BY num_clie; 90. Cuntos vendedores superan su cuota? select nombre,count(num_empl),cuota,ventas from repventas where ventas>cuota group by repventas.nombre,repventas.cuota,repventas.ventas 91. Cuntos pedidos de ms de $25.000 hay en la base de datos? SELECT importe, COUNT(*) FROM pedidos GROUP BY importe HAVING importe > 25000; 92. Halle el importe medio de pedidos, el importe total de pedidos, el importe medio de pedido como porcentaje del lmite de crdito del cliente y el importe medio de pedido como porcentaje de la cuota del vendedor. 93. Cuntos ttulos diferentes tienen los vendedores? SELECT DISTINCT titulo FROM repventas

94. Cuntas oficinas de ventas tienen vendedores que superan a sus cuotas? select count(oficina_rep) from repventas where ventas>cuota 95. Cul es el tamao medio de pedidos? SELECT AVG(importe) FROM pedidos 96. Cul es el tamao medio de pedidos para cada vendedor? SELECT AVG(importe) FROM pedidos Group by rep; 97. Cul es el rango de cuotas asignadas en cada oficina? 98. Cuntos vendedores estn asignados a cada oficina? SELECT oficina_rep, COUNT(*) FROM repventas GROUP BY oficina_rep; 99. Cuntos clientes diferentes son atendidos por cada vendedor? SELECT count(num_clie), rep_clie FROM clientes group by clientes.rep_clie 100. Calcule los pedidos totales para cada cliente de cada vendedor, ordenados por cliente y dentro de cada cliente por vendedor. select sum(cant),clie,rep from pedidos group by pedidos.clie,pedidos.rep order by clie,rep 101. Calcula los pedidos totales para cada cliente de cada vendedor, ordenados por vendedor, y dentro de cada vendedor por cliente. select sum(cant),rep,clie from pedidos group by pedidos.clie,pedidos.rep

order by rep,clie 102. Calcula los pedidos totales por cada vendedor. Select rep, cant, num_pedido From pedidos 103. Cul es el tamao de pedidos promedio para cada vendedor cuyos pedidos totalizan ms de $30.000? select rep, avg (cant),importe From pedidos GROUP BY REP, importe HAVING importe>30000 104. Por cada oficina con dos o ms persona, calcular la cuota total y las ventas totales para todos los vendedores que trabajan en la oficina. SELECT ciudad, SUM(cuota), SUM(repventas.ventas) FROM oficinas INNER JOIN repventas ON (oficinas.oficina = repventas.oficina_rep) GROUP BY ciudad HAVING COUNT(*) >2; 105. Muestre el precio, la existencia y la cantidad total de los pedidos de cada producto para los cuales la cantidad total pedida es superior al 75%. 106. Liste las oficinas en donde el objetivo de ventas de la oficina excede a la suma de las cuotas de los vendedores individuales. select oficinas.objetivo,oficinas.oficina,sum(repventas.cuota),repventas.num_empl from oficinas,repventas where objetivo> (select sum(repventas.cuota) from repventas) group by oficinas.objetivo,oficinas.oficina, repventas.num_empl 107. Liste los vendedores cuyas cuotas son iguales o superiores al objetivo de la oficina de ventas de Atlanta. select repventas.num_empl, repventas.cuota, oficinas.oficina, oficinas.ciudad,oficinas.objetivo from repventas,oficinas where cuota>=objetivo and oficina=13 and ciudad='ATLANTA';

108. Liste todos los clientes atendidos por Bill Adams(105). SELECT num_clie, rep_clie From clientes Where rep_clie=105; 107. Liste todos los productos del fabricante ACI para los cuales las existencias superan a las existencias del producto ACI-41004. select id_producto,id_fab,existencias from productos where id_fab='ACI' and existencias>'41004'; 108. Liste los vendedores que trabajan en oficinas que superan su objetivo. select repventas.num_empl, repventas.nombre, oficinas.oficina,oficinas.objetivo,oficinas.ventas from oficinas, repventas where oficinas.ventas>oficinas.objetivo 109. Liste los vendedores que no trabajan en oficinas dirigidas por Larry Fith. select repventas.num_empl,repventas.nombre, oficinas.dir from repventas,oficinas where 'LARRY FITCH' is null; 110. Liste todos los clientes que han remitido pedidos de ACI (Fabricante ACI, nmeros de productos que comienzan con 41000) entre enero y junio de 1990. select productos.id_fab, productos.id_producto,pedidos.clie, extract(month from pedidos.fecha_pedido) from pedidos,productos where id_fab='ACI' and id_producto= '41000' and pedidos.fecha_pedido='1990-01-01' AND '1990-06-30'; 111. Liste los productos para los cuales se ha recibido un pedido de $25.000, o ms. select productos.id_producto, pedidos.importe from productos, pedidos where pedidos.importe>25000 112. Lista los clientes asignados a Sue Smith que no han remitido en pedido superior a $3.000.

select clientes.num_clie,clientes.empresa,repventas.nombre,pedidos.importe from pedidos,clientes, repventas where pedidos.importe>3000 and repventas.nombre='SUE SMITH'; 113. Lista las oficinas en donde haya un vendedor cuya cuota represente ms del 55% del objetivo de las oficinas. 114. Liste los vendedores que han aceptado un pedido que represente ms del 10% de su cuota. 115. Lista las oficinas y sus objetivos en donde todos los vendedores tienen ventas que superan al 50% del objetivo de la oficina. 116. Lista los nombres y edades de los vendedores que trabajan en oficinas de la regin OESTE. Select nombre, edad, oficina_rep From repventas Where oficina_rep between 21 and 22; 117. Lista los nombres y edades de los vendedores que trabajan en oficinas de la regin OESTE. Select nombre, edad, oficina_rep From repventas Where oficina_rep between 21 and 22;

118. Lista los nombres y edades de los vendedores que tienen por encima del promedio. select nombre,edad,avg(ventas) from repventas group by repventas.nombre,repventas.edad 119. Liste los clientes cuyos vendedores estn asignados a oficinas en la regin de ventas ESTE. select clientes.num_clie,clientes.empresa, repventas.num_empl,oficinas.region from clientes,repventas,oficinas where region='ESTE'; 120. Liste las oficinas de ventas cuyas ventas estn por debajo del objetivo medio. select oficina,ventas,avg(objetivo) from oficinas where ventas<(select avg(objetivo) from oficinas)

group by oficinas.oficina 121. Liste todas las oficinas cuyos objetivos exceden a la suma de las cuotas de los vendedores. select oficinas.oficina,oficinas.objetivo,sum(repventas.cuota) from oficinas,repventas where objetivo>(select sum(repventas.cuota) from repventas) group by oficinas.oficina 122. Liste los vendedores que tienen ms de 40 aos y dirigen a un vendedor por encima de la cuota. select empleado.edad, empleado.cuota, empleado.ventas from repventas as empleado inner join repventas on (empleado.edad=repventas.director) where empleado.edad>40 and empleado.ventas>empleado.cuota; 123. Liste los directores mayores de 40 aos y que dirigen a un vendedor cuyas ventas superan a la cuota y que no trabaja en la misma oficina de ventas que el director. select empleado.edad, empleado.cuota, empleado.ventas, oficinas.dir from repventas,oficinas as empleado inner join repventas on (empleado.edad=repventas.director) where empleado.edad>40 and empleado.ventas>empleado.cuota and oficina_rep in (select DISTINCT dir from oficinas); 124. Liste los vendedores cuyo tamao de pedido medio para productos fabricados por ACI es superior al tamao de pedido medio global. 125. Liste los vendedores cuyo tamao de pedido medio para productos fabricados por ACI es al menos tan grande como el tamao de pedido medio global de ese vendedor. Marcar infraccin de copyright

You might also like