Ejercicios

SQL en Access

'Margarita'. salario) VALUES ('4'.'1300').'Secretaria'.'1992/05/16'. sexo.'M'.'1500'). salario int NOT NULL ). salario) VALUES ('3'. apellidos. apellidos.'Elena'. cargo. apellidos.Structured Query Language EJERCICIOS SQL Crear en Access la base de datos Empresa_1 y ejecutar las sentencias SQL EMPLEADOS ID_EMPLEADO NOMBRE APELLIDOS F_NACIMIENTO SEXO CARGO SALARIO 1 Carlos Jiménez Clarín 1985/05/03 H Mozo 1500 2 Elena Rubio Cuestas 1978/09/25 M Secretaria 1300 3 José Calvo Sisman 1990/11/12 H Mozo 1400 4 Margarita Rodríguez Garcés 1992/05/16 M Secretaria 1325 SCRIPT:  CREACIÓN TABLAS CREATE TABLE EMPLEADOS( id_empleado int primary Key NOT NULL.'H'. sexo. INSERT INTO EMPLEADOS (id_empleado. cargo. nombre. APELLIDOS .'Carlos'. apellidos char(50) NOT NULL. cargo. sexo char(1) NOT NULL.'1978/09/25'. nombre. APELLIDOS from EMPLEADOS where SALARIO > 1350  Ejemplo 2 ¿Realizar una consulta que devuelva el nombre. apellidos y la fecha de nacimiento de aquellos empleados que cobren más de 1350? select NOMBRE . cargo.'Calvo Sisman'. f_nacimiento.'1325'). nombre char(50) NOT NULL.'M'. f_nacimiento. f_nacimiento.  INSERCION DE DATOS TABLA EMPLEADO INSERT INTO EMPLEADOS (id_empleado.'1990/11/12'.'H'. sexo.'Rodríguez Garcés'. nombre. f_nacimiento date NOT NULL.'José'.'Secretaria'. SQL . salario) VALUES ('1'. nombre. INSERT INTO EMPLEADOS (id_empleado. cargo char(50) NOT NULL.'1985/05/03'.'Jiménez Clarín'. sexo. salario) VALUES ('2'.  Ejemplo 1 ¿Qué empleados tienen un salario mayor a 1350? select NOMBRE .'Mozo'. APELLIDOS from EMPLEADOS where SALARIO > 1350 and SALARIO <= 1450 P á g i n a |2 .'1400'). F_NACIMIENTO from EMPLEADOS where SALARIO > 1350  Ejemplo 3 ¿Qué empleados tienen un sueldo comprendido entre 1350 y 1450? select NOMBRE . f_nacimiento. INSERT INTO EMPLEADOS (id_empleado.'Mozo'. apellidos.'Rubio Cuestas'.

SQL .Structured Query Language  Ejemplo 4 ¿Qué empleados son hombres? select NOMBRE . APELLIDOS from EMPLEADOS where SEXO = 'H'  Ejemplo 5 ¿Cuáles son los nombres de los empleados tienen el cargo de MOZO? select NOMBRE from EMPLEADOS where CARGO = 'MOZO'  Ejemplo 6 ¿Cuál es el empleado de código 4? select APELLIDOS from EMPLEADOS where ID_EMPLEADO = 4 P á g i n a |3 .

'Desarrollo de Software'.'12000'.'Empleado'. salario.'Vendedor'. cod_dep int NOT NULL ).'16700'.null. salario.'Naragote'. INSERT INTO EMPLEADO (cod_emp. comisión. salario.'Pérez Luis'. oficio. nombre. oficio. oficio.'12/05/1993'. INSERT INTO EMPLEADO (cod_emp. SQL . comisión. fecha_ing. INSERT INTO EMPLEADO (cod_emp. cod_dep) VALUES ('3'. edad.'Masaya'. comisión. fecha_ing.'31'. comisión. localización) VALUES ('40'.'32'. localización char (50) NOT NULL edad int NOT NULL.'Vendedor'. nombre.' Chinandega'. nombre_dep. INSERT INTO DEPARTAMENTO (cod_dep.'13000'. nombre_dep.'Subtiava').'30'). edad.'El Coyolar').'Esquivel José'. edad. dir. comisión. INSERT INTO EMPLEADO (cod_emp. edad.'Vargas Héctor'. P á g i n a |4 . nombre_dep char(50) NOT NULL. INSERT INTO EMPLEADO (cod_emp. comisión.null. salario. cod_dep) VALUES ('1'.'20').'Juigalpa'. oficio char(50) NOT NULL.'14/07/1982'. localización) VALUES ('10'.'17'.'Managua'. nombre_dep. ).'40').'15000'. oficio.'27'. edad.'13400'.  INSERCION DE DATOS TABLA DEPARTAMENTO INSERT INTO DEPARTAMENTO (cod_dep. cod_dep) VALUES ('2'. fecha_ing.  INSERCION DE DATOS TABLA EMPLEADO INSERT INTO EMPLEADO (cod_emp. nombre.'Análisis de Sistemas'. nombre. edad.'1500'. fecha_ing.'30').'1000'. INSERT INTO DEPARTAMENTO (cod_dep. nombre.'Contabilidad'. dir char(50) NOT NULL. oficio. localización) VALUES ('20'.'Vendedor'.'Director'.null.' Analista'.'Esquivel Alfonso'.'40').null. fecha_ing. cod_dep) VALUES ('6'.'12/09/1981'.'Delgado Carmen'. salario. oficio. localización) VALUES ('30'. dir.'02/03/1983'. nombre_dep.'León'.'Presidente'.'León'. nombre.'27'. cod_emp int primary Key NOT NULL.'Guadalupe').'Castillo Luis'. dir. cod_dep) VALUES ('5'.'10').'02/03/1980'.'1200'.'San Felipe').'37'. INSERT INTO DEPARTAMENTO (cod_dep.'12/08/1982'. oficio. salario.'Ventas'.'Hernández Julio'. comisión int. fecha_ing. dir. edad. nombre char(50) NOT NULL.'40'). cod_dep) VALUES ('4'.'16309'. nombre. comisión.Structured Query Language Crear en Access la siguiente bases de Datos y Ejecutar las sentencias SQL DEPARTAMENTO cod_dep nombre_dep localización 10 Desarrollo de Software El Coyolar 20 Análisis de Sistemas Guadalupe 30 Contabilidad Subtiava 40 Ventas San Felipe EMPLEADO cod_emp nombre edad oficio dir fecha_ing salario comisión cod_dep 1 Vargas Héctor 27 Vendedor León 12/05/1993 12000 40 2 Hernández Julio 27 Analista Chinandega 14/07/1982 13000 1500 20 3 Esquivel José 31 Director Juigalpa 05/06/1981 16700 1200 30 4 Delgado Carmen 37 Vendedor León 02/03/1983 13400 40 5 Castillo Luis 17 Vendedor Masaya 12/08/1982 16309 1000 40 6 Esquivel Alfonso 26 Presidente Nagarote 12/09/1981 15000 30 7 Pérez Luis 32 Empleado Managua 02/03/1980 16890 10 SCRIPT:  CREACIÓN TABLAS CREATE TABLE DEPARTAMENTO( CREATE TABLE EMPLEADO( cod_dep int primary Key NOT NULL. fecha_ing. dir. INSERT INTO EMPLEADO (cod_emp. dir. dir.'16890'.'26'. salario.'05/06/1981'. salario int NOT NULL. fecha_ing char(50) NOT NULL. cod_dep) VALUES ('7'.

select nombre from EMPLEADO where nombre like '*o'  Ejemplo 8 Seleccionar el nombre. SQL . oficio. select nombre. select count(*) from EMPLEADO where nombre like 'E*'  Ejemplo 15 Para cada oficio obtener la suma de salarios.Structured Query Language  Ejemplo 7 Listar los nombres de los empleados cuyo nombre termine con la letra ‘o’. sum(salario) from EMPLEADO group by oficio P á g i n a |5 . select oficio. el oficio y salario de los empleados que trabajan en León. salario from EMPLEADO where dir='León'  Ejemplo 9 Calcular el salario medio de todos los empleados. select avg(salario) from EMPLEADO  Ejemplo 10 ¿Cuál es el máximo salario de los empleados del departamento número 10? select max(salario) from EMPLEADO where cod_dep = 10  Ejemplo 11 ¿Cuántos empleados hay en el departamento número 10? select count(*) from EMPLEADO where cod_dep = 10  Ejemplo 12 ¿Cuántos empleados hay en el departamento de VENTAS? select count(*) from EMPLEADO where cod_dep=40  Ejemplo 13 ¿Cuántos empleados no tienen comisión? select count(*) from EMPLEADO where comisión is null  Ejemplo 14 Se desea saber cuántos nombres de los empleados empiezan por la letra ‘A’.

fecha de ingreso en la empresa el 22-06-2001.'32'.null. de nombre ‘GENERAL’ y cuya localización sea ‘Laborio’.  Ejemplo 22 Doblar el salario a todos los empleados del departamento 30.'Cajas Carlos'. no tiene comisión y pertenece al departamento 20. nombre. localización) VALUES ('60'. INSERT INTO DEPARTAMENTO (cod_dep. select nombre from EMPLEADO where salario=(select min(salario)from EMPLEADO)  Ejemplo 19 Insertar en la tabla EMPLEADO un empleado con código 8. nombre_dep.  Ejemplo 20 Insertar en la tabla DEPARTAMENTO un departamento cuyo número sea 50.Structured Query Language  Ejemplo 16 Mostrar los datos de los empleados cuyo salario sea mayor que la media de todos los salarios.'General'. update EMPLEADO set salario=salario*1. fecha_ing. comisión. localización) VALUES ('50'. edad. cod_dep) VALUES ('8'.'Pruebas'.'20'). SQL .'Matagalpa'. select nombre from EMPLEADO where salario=(select max(salario)from EMPLEADO)  Ejemplo 18 Mostrar el nombre del empleado que tiene el salario más bajo. INSERT INTO DEPARTAMENTO (cod_dep. nombre_dep. salario. update EMPLEADO set cod_dep = 20 where cod_dep = 30  Ejemplo 24 Incrementar en un 10% el sueldo de los empleados del departamento 10. nombre ‘Cajas Carlos’ de 32 años. vive en Matagalpa.'Empleado'. oficio Analista.'Puerto Cayo').'22/06/2001'.  Ejemplo 21 Insertar en la tabla DEPARTAMENTO un departamento cuyo número sea 60 y de nombre ‘PRUEBAS’ y cuya localización sea ‘Puerto Cayo’. su salario es de 15600.1 where cod_dep=10 P á g i n a |6 . oficio. dir. INSERT INTO EMPLEADO (cod_emp. update EMPLEADO set salario = salario*2 where cod_dep=30  Ejemplo 23 Cambiar todos los empleados del departamento número 30 al departamento número 20.'15600'.'Laborio'). select * from EMPLEADO where salario>(select avg(salario) from EMPLEADO)  Ejemplo 17 Seleccionar el nombre del empleado que tiene máximo salario.

Structured Query Language  Ejemplo 25 Cambiar la localidad del departamento número 10 a ‘Zaragoza’. update EMPLEADO set localizacion='Zaragoza' where cod_dep = 10  Ejemplo 26 En la tabla DEPARTAMENTO borrar el departamento número 40. SQL . delete from EMPLEADO where cod_dep = 20 P á g i n a |7 . delete from DEPARTAMENTO where cod_dep = 40  Ejemplo 27 En la tabla EMPELADO borrar todos los empleados que sean del departamento 20.