0% encontró este documento útil (0 votos)
128 vistas11 páginas

Pru10 - DMLselect

Este documento contiene ejemplos de consultas SQL para realizar diversas operaciones en una base de datos de una empresa. Algunas consultas obtienen datos específicos de empleados y departamentos, otras realizan agregaciones, uniones y comparaciones. Finalmente, se muestran ejemplos del uso de funciones como COUNT, AVG, SUM y DISTINCT para analizar y resumir datos almacenados en las tablas.

Cargado por

Jhrs Taipe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
128 vistas11 páginas

Pru10 - DMLselect

Este documento contiene ejemplos de consultas SQL para realizar diversas operaciones en una base de datos de una empresa. Algunas consultas obtienen datos específicos de empleados y departamentos, otras realizan agregaciones, uniones y comparaciones. Finalmente, se muestran ejemplos del uso de funciones como COUNT, AVG, SUM y DISTINCT para analizar y resumir datos almacenados en las tablas.

Cargado por

Jhrs Taipe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

SQL-DML

Curso: Base de Datos PRACTICA DIRIGIDA NRO 10


Mg. Bertila García Díaz
prU10_DMLselect
CONSULTAS BÁSICAS

1.- /* C1 Obtener la fecha de nacimiento y la dirección del empleado cuyo nombre es


José B. Silva */

select fechan,direccion
from empleado
where nombrep='José' and inic='B' and apellido='Silva'

Fechan Direccion
1955-01-09 [Link].000 Fresnos 731,Higueras,MX

2.- /* C9 obtener el nombre y la dirección de todos los empleados que trabajan para el
departamento de 'investigación' */

select nombrep,apellido,direccion
from empleado,departamento
where nombred='Investigación' and nd=numerod

nombrep apellido direccion


José Silva Fresnos 731,Higueras,MX
Federico Vizcarra Valle 638, Higueras,MX
Josefa Esparza Rosas 5631, Higueras,MX
Ramón Nieto Espiga 875, Heras,MX

3.- /*C7 obtener el nombre y la dirección de todos los empleados que trabajan para el
departamento de 'investigación'*/

select nombrep,apellido,direccion
from(empleado join departamento on nd=numerod)
where nombred='Investigación'

nombrep apellido direccion


José Silva Fresnos 731,Higueras,MX
Federico Vizcarra Valle 638, Higueras,MX
Josefa Esparza Rosas 5631, Higueras,MX
Ramón Nieto Espiga 875, Heras,MX

4.- /* C8 para cada proyecto ubicado en 'Santiago', listar el número del proyecto, el
número del departamento controlador y el apellido, la dirección y la fecha de
nacimiento del gerente de ese departamento*/

select numerop, numd, apellido, direccion, fechan


from ((proyecto join departamento on numd=numerod) join
empleado on nssgte=nss)
where lugarp='Santiago'

1
numerop numd apellido direccion fechan
10 4 Valdes Bravo 291, Belén,MX 1931-06-20 [Link].000
30 4 Valdes Bravo 291, Belén,MX 1931-06-20 [Link].000

MANEJO DE NOMBRES DE ATRIBUTOS AMBIGUOS Y SEUDÓNIMOS

5.- /*C3 Para cada empleado, obtener su nombre de pila y apellido y el nombre de pila y
apellido de su supervisor inmediato*/

select [Link] as nombre_empleado,[Link] as nombre_supervisor


from empleado as e, empleado as s
where [Link]=[Link]
order by [Link]

nombre_empleado nombre_supervisor
Botello Silva
Esparza Vizcarra
Jabbar Valdes
Nieto Vizcarra
Silva Vizcarra
Valdes Botello
Vizcarra Botello
Zapata Valdes

CLAUSULAS WHERE NO ESPECIFICADAS Y EMPLEO DE *


6.- /*cc1 Obtener los valores de todos los atributos de las tuplas de empleados que
pertenecen al departamento 5 */

select *
from empleado
where nd=5

nombrep Inc. Apellido nss fechan ………


José B Silva 123456789 1955-01-09 [Link].000…
Federico T Vizcarra 333445555 1945-12-08 [Link].000
Josefa A Esparza 453453453 1962-07-31 [Link].000
Ramón K Nieto 666884444 1952-09-15 [Link].000

7.- /*cc2 Obtener todos los atributos de las tuplas de empleados que pertenecen al
departamento 'Investigación'*/

select *
from empleado, departamento
where nombred='Investigación' and nd=numerod

nombrep Inc. Apellido nss fechan ………


José B Silva 123456789 1955-01-09 [Link].000…
Federico T Vizcarra 333445555 1945-12-08 [Link].000
Josefa A Esparza 453453453 1962-07-31 [Link].000
Ramón K Nieto 666884444 1952-09-15 [Link].000
TABLAS COMO CONJUNTOS EN SQL

2
8.- /*C10 Obtener el salario de todos los empleados*/

select salario
from empleado

salario
30000.00
40000.00
25000.00
38000.00
55000.00
43000.00
25000.00
25000.00

9.- /*C2 obtener salarios distintos de empleados*/


select distinct salario
from empleado

Salario
25000.00
30000.00
38000.00
40000.00
43000.00
55000.00

CONSULTAS ANIDADAS Y COMPARACIONES DE CONJUNTOS

10.- /* C4 Preparar una lista con todos los números de los proyectos en los que participa
un empleado de apellido 'Vizcarra', sea como trabajador o como Gerente del
departamento que controla el proyecto*/

select distinct numerop


from proyecto
where numerop in(select numerop
from proyecto, departamento, empleado
where numd=numerod and nssgte=nss and apellido='Vizcarra')
or
numerop in (select nump
from empleado_proyecto, empleado
where nsse=nss and apellido='Vizcarra')
Numerop
1
2
3
10
20

3
11.- /*C5 Obtener los nombres de los empleados cuyo salario es mayor que el de todos
los empleados del departamento 5*/

select apellido,nombrep
from empleado
where salario > all(select salario from empleado where nd=5)

apellido nombrep
Botello Jaime
Valdes Jazmin

12.- /* cc3 obtener el nombre de todos los empleados que tienen un dependiente con el
mismo sexo que el empleado*/

select [Link], [Link]


from empleado e
where [Link] in (select nsse
from dependiente
where nsse=[Link] and sexo=[Link])

nombrep apellido
José Silva
Federico Vizcarra

13.- /* cc4 obtener el nombre de todos los empleados que tienen un dependiente con el
mismo sexo que el empleado*/

select [Link], [Link]


from empleado e, dependiente d
where [Link] = [Link] and [Link]=[Link] and [Link]=d.nombre_dependiente

nombrep apellido
José Silva
Federico Vizcarra

La funcion EXITS

14.- /* cc5 obtener el nombre de todos los empleados que tienen un dependiente con el
mismo sexo que el empleado*/
select [Link], [Link]
from empleado e
where exists (select *
from dependiente
where nsse=[Link] and sexo=[Link])

nombrep apellido
José Silva
Federico Vizcarra

4
15.- /*cc6 Obtener los nombres de los empleados que no tienen dependientes*/

select nombrep, apellido


from empleado
where not exists (select *
from dependiente
where nss=nsse)

nombrep apellido
Josefa Esparza
Ramón Nieto
Jaime Botello
Ahmed Jabbar
Alicia Zapata

16.- /*cc7 listar los nombres de los gerentes que tienen por lo menos un dependiente*/

select nombrep, apellido


from empleado
where exists (select *
from dependiente
where nss=nsse)
and
exists (select *
from departamento
where nss=nssgte)

nombrep apellido
Federico Vizcarra
Jazmin Valdes

CONJUNTOS EXPLICITOS Y VALORES NULOS

17.- /*C12 Obtener el numero de seguro social de todos los empleados


que trabajan en los proyectos 1,2 o 3*/

select distinct nsse


from empleado_proyecto
where nump in(1,2,3)

123456789
333445555
453453453
666884444

5
CAMBIO DE NOMBRE DE LOS ATRIBUTOS

18.- /*cc8 Obtener el apellido de cada empleado y de su supervisor*/

select [Link] as NOMBRE_EMPLEADO, [Link] as NOMBRE_SUPERVISOR


from empleado as e, empleado as s
where [Link]=[Link]

NOMBRE_EMPLEADO NOMBRE_SUPERVISOR
Silva Vizcarra
Vizcarra Botello
Esparza Vizcarra
Nieto Vizcarra
Botello Silva
Valdes Botello
Jabbar Valdes
Zapata Valdes

FUNCIONES AGREGADAS Y AGRUPACIÓN

19.- /*C14 Obtener la suma de los salarios de todos los empleados, el salario máximo,
el salario mínimo y el salario medio*/

select sum(salario) as SUMA, max(salario)as MAXIMO, min(salario)AS MINIMO,


avg(salario) AS PROMEDIO
from empleado

SUMA MAXIMO MINIMO PROMEDIO


281000.00 55000.00 25000.00 35125.000000

20.- /*cc9 Obtener la suma de los salarios de todos los empleados del departamento
'Investigación' , el salario máximo, el salario mínimo y el salario medio*/

select sum(salario) as SUMA, max(salario)as MAXIMO, min(salario)AS MINIMO,


avg(salario) AS PROMEDIO
from empleado, departamento
where nd=numerod and nombred='Investigación'

SUMA MAXIMO MINIMO PROMEDIO


133000.00 40000.00 25000.00 33250.000000

21.- /*c15 Obtener el total de empleados de la CIA*/

select count(*) as TOTAL


from empleado

TOTAL
8

22.- /*C16 Obtener el número de empleados del dpto de 'Investigación'*/

6
select count(*) as TotInvest
from empleado,departamento
where nd=numerod and nombred='Investigación'

TotInvest
4

23.- /* cc10 contar el número de valores de salario distintos de la base de datos*/

select count (distinct salario) as Salarios_distintos


from empleado

Salarios_distintos
6

24.- /*cc11 obtener los nombres de todos los empleados que tienen 2 o más
dependientes*/
select apellido, nombrep
from empleado
where (select count(*)
from dependiente
where nss=nsse) >= 2

apellido nombrep
Silva José
Vizcarra Federico

25.- /*C19 para cada dpto, obtener el nro de dpto, nro de empleados deldpto
y su salario medio*/

select nd,count(*) as numero,avg(salario) as promedio


from empleado
group by nd;

nd numero promedio
1 1 55000.000000
4 3 31000.000000
5 4 33250.000000

26.- /*C20 para c/proyecto, obtener el numero y el nombre del proyecto; así como

7
el numero de empleados que trabajan en él*/

select numerop, nombrepr, count(*)as numero_empleados


from proyecto, empleado_proyecto
where numerop=nump
group by numerop,nombrepr

numerop nombrepr numero_empleados


1 ProductoX 2
2 ProductoY 3
3 ProductoZ 2
10 Automatización 3
20 Reorganización 3
30 Nuevasprestaciones 3

27.- /*C21 para cada proyecto en el que trabajan más de 2 empleados, obtener el
numero y el nombre del proyecto, así como el numero de empleados que trabajan en
el*/

select numerop, nombrepr, count(*)as numero_empleados


from proyecto, empleado_proyecto
where numerop=nump
group by numerop,nombrepr
having count(*) > 2

numerop nombrepr numero_empleados


2 ProductoY 3
10 Automatización 3
20 Reorganización 3
30 Nuevasprestaciones 3

COMPARACIONES DE SUBCADENAS, OPERADORES ARITMÉTICOS Y


ORDENACIÓN

28.- /*cc12 Obtener todos los empleados cuya dirección esté en Higueras, estado de
México*/
select nombrep, apellido
from empleado
where direccion like '%Higueras,MX%'

nombrep apellido
José Silva
Federico Vizcarra
Josefa Esparza
Jaime Botello
Ahmed Jabbar

29.- /* cc13 Encontrar todos los empleados con apellido que empiece con E */

8
select nombrep, apellido
from empleado
where apellido like 'E%'

nombrep apellido
Josefa Esparza

30.- /* cc14 Mostrar los salarios resultantes si cada empleado que trabaja en el proyecto
'Producto X' recibe un aumento del 10% */
select nombrep, apellido, 1.1*salario as '1.1*salario'
from empleado, empleado_proyecto, proyecto
where nss=nsse and nump=numerop and nombrepr='ProductoX'

nombrep apellido 1.1*salario


José Silva 33000.000
Josefa Esparza 27500.000

31.- /*cc15 obtener una lista de empleados y de los proyectos en los que trabajan,
ordenados por dpto y, dentro de cada dpto, alfabeticamente por apellido y nombre*/

select nombred, apellido, nombrep, nombrepr


from departamento, empleado, empleado_proyecto, proyecto
where numerod=nd and nss=nsse and nump=numerop
order by nombred, apellido, nombrep

nombred apellido nombrep nombrepr


Administración Jabbar Ahmed Automatización
Administración Jabbar Ahmed Nuevasprestaciones
Administración Valdes Jazmin Reorganización
Administración Valdes Jazmin Nuevasprestaciones
Administración Zapata Alicia Automatización
Administración Zapata Alicia Nuevasprestaciones
Dirección Botello Jaime Reorganización
Investigación Esparza Josefa ProductoX
Investigación Esparza Josefa ProductoY
Investigación Nieto Ramón ProductoZ
Investigación Silva José ProductoX
Investigación Silva José ProductoY
Investigación Vizcarra Federico ProductoY
Investigación Vizcarra Federico ProductoZ
Investigación Vizcarra Federico Automatización
Investigación Vizcarra Federico Reorganización

Curso: Base de Datos


Docente: Mg. Bertila García Díaz

9
PRACTICA CALIFICADA Nro 10
SQL
Resolver:
1.- Para cada proyecto obtener el número y el nombre del proyecto, así como el
promedio de sueldos de los empleados que trabajan en él.

2.-Mostrar los salarios resultantes si cada empleado que trabaja en el proyecto


“Reorganización” recibe un descuento del 10%.

3.- Obtenga los nombres de todos los empleados del departamento 4 que trabajan más
de 20 horas por semana en el proyecto ‘Automatización’

4.- Obtener el nombre de todos los empleados que tienen cónyuge.

5.- Seleccionar nombre y apellido de los Empleados que nacieron entre el 58 y 60.

6.- Obtenga los nombres de todos los empleados del departamento 5 que trabajan más
de 10 horas por semana en el proyecto 'Producto X'.

7.- Cite los nombres de todos los empleados que tienen un dependiente con el mismo
nombre de pila que ellos.

8.- Encuentre los nombres de todos los empleados supervisados directamente por
'Federico Vizcarra'.

9.- Para cada proyecto, cite el nombre del proyecto y el total de horas que trabajan todos
los empleados en ese proyecto.

10.- Obtenga los nombres de todos los empleados que trabajan en cada uno de los
proyectos.

11.- Obtenga los nombres de los empleados que no trabajan en ningún proyecto.

12.- Para cada departamento, obtenga el nombre del departamento y el salario medio de
todos los empleados que trabajan en él.

13.- Obtenga el salario medio de todos los empleados de sexo femenino.

14.- Encuentre los nombres y direcciones de todos los empleados que trabajan en, por
los menos, un proyecto situado en Higueras pero cuyo departamento no está ubicado
ahí.

15.- Prepare una lista con los apellidos de todos los gerentes de departamento que no
tienen dependientes.

16.- Seleccionar las personas cuyo apellido empiece con la letra ‘V’.

17.- Seleccionar las personas cuyo apellido tiene la 2da letra ‘a’.

10
BD MATRICULA

1. Obtener una lista de los alumnos hombres

2. Obtener el número de hombres y mujeres

3. Listar los nombre de los alumnos que nacieron entre 1970 y 1972

4. Listar los nombres de los alumnos cuyos apellidos comienzan con ‘M’

5. Muestre el nombre del Profesor que tiene el mayor sueldo.

6. Listar los nombres de los Profesores “Economistas”

7. Relación de alumnos matriculados en el curso de “Constitución”

8. El nombre del alumno más joven.

9. Obtener los nombres de los Profesores, cuyo sueldo es mayor que el de todos los
profesores Economistas.

10. Mostrar el nombre del curso y el número máximo de alumnos si admitieramos


11. un 25% más de los permitidos

12. Relación de los cursos con horas mayores a 500, junto con el nombre y apellidos
del profesor que lo imparte y las horas

13. nombre de los alumnos y puntuacion media (entre las 2 pruebas) de aquellos que
hayan sacado más de 20 puntos de media en el curso de Constitución

14. obtener el nombre de los cursos impartidos por el profesor Rafael Rengel
Quintero

15. para cada alumno matriculado, obtener su dni,nombre, apellido1 y promedio de


la prueba1, ordenados por apellido1

16. para cada alumno matriculado con promedio de prueba1 > 28, obtener su
nombre y promedio de la prueba1

17. Obtener la nota mínima, máxima, y media en las pruebas 1 y 2 obtenidas en


todos los cursos por los alumnos hombres y mujeres

11

También podría gustarte