Ejercicios sql access

7

Click here to load reader

Transcript of Ejercicios sql access

Page 1: Ejercicios sql access

Ejercicios

SQL en Access

Page 2: Ejercicios sql access

SQL - Structured Query Language

P á g i n a | 2

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,

nombre char(50) NOT NULL,

apellidos char(50) NOT NULL,

f_nacimiento date NOT NULL,

sexo char(1) NOT NULL,

cargo char(50) NOT NULL,

salario int NOT NULL

);

INSERCION DE DATOS TABLA EMPLEADO

INSERT INTO EMPLEADOS (id_empleado, nombre, apellidos, f_nacimiento, sexo, cargo, salario)

VALUES ('1','Carlos','Jiménez Clarín','1985/05/03','H','Mozo','1500');

INSERT INTO EMPLEADOS (id_empleado, nombre, apellidos, f_nacimiento, sexo, cargo, salario)

VALUES ('2','Elena','Rubio Cuestas','1978/09/25','M','Secretaria','1300');

INSERT INTO EMPLEADOS (id_empleado, nombre, apellidos, f_nacimiento, sexo, cargo, salario)

VALUES ('3','José','Calvo Sisman','1990/11/12','H','Mozo','1400');

INSERT INTO EMPLEADOS (id_empleado, nombre, apellidos, f_nacimiento, sexo, cargo, salario)

VALUES ('4','Margarita','Rodríguez Garcés','1992/05/16','M','Secretaria','1325');

Ejemplo 1

¿Qué empleados tienen un salario mayor a 1350?

select 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 , APELLIDOS , F_NACIMIENTO

from EMPLEADOS

where SALARIO > 1350

Ejemplo 3

¿Qué empleados tienen un sueldo comprendido entre 1350 y 1450?

select NOMBRE , APELLIDOS

from EMPLEADOS

where SALARIO > 1350 and SALARIO <= 1450

Page 3: Ejercicios sql access

SQL - Structured Query Language

P á g i n a | 3

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

Page 4: Ejercicios sql access

SQL - Structured Query Language

P á g i n a | 4

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(

cod_dep int primary Key NOT NULL,

nombre_dep char(50) NOT NULL,

localización char (50) NOT NULL

);

CREATE TABLE EMPLEADO(

cod_emp int primary Key NOT NULL,

nombre char(50) NOT NULL,

edad int NOT NULL,

oficio char(50) NOT NULL,

dir char(50) NOT NULL,

fecha_ing char(50) NOT NULL,

salario int NOT NULL,

comisión int,

cod_dep int NOT NULL

);

INSERCION DE DATOS TABLA DEPARTAMENTO

INSERT INTO DEPARTAMENTO (cod_dep, nombre_dep, localización)

VALUES ('10','Desarrollo de Software','El Coyolar');

INSERT INTO DEPARTAMENTO (cod_dep, nombre_dep, localización)

VALUES ('20','Análisis de Sistemas','Guadalupe');

INSERT INTO DEPARTAMENTO (cod_dep, nombre_dep, localización)

VALUES ('30','Contabilidad','Subtiava');

INSERT INTO DEPARTAMENTO (cod_dep, nombre_dep, localización)

VALUES ('40','Ventas','San Felipe');

INSERCION DE DATOS TABLA EMPLEADO

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('1','Vargas Héctor','27','Vendedor','León','12/05/1993','12000',null,'40');

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('2','Hernández Julio','27',' Analista',' Chinandega','14/07/1982','13000','1500','20');

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('3','Esquivel José','31','Director','Juigalpa','05/06/1981','16700','1200','30');

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('4','Delgado Carmen','37','Vendedor','León','02/03/1983','13400',null,'40');

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('5','Castillo Luis','17','Vendedor','Masaya','12/08/1982','16309','1000','40');

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('6','Esquivel Alfonso','26','Presidente','Naragote','12/09/1981','15000',null,'30');

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('7','Pérez Luis','32','Empleado','Managua','02/03/1980','16890',null,'10');

Page 5: Ejercicios sql access

SQL - Structured Query Language

P á g i n a | 5

Ejemplo 7

Listar los nombres de los empleados cuyo nombre termine con la letra ‘o’.

select nombre

from EMPLEADO

where nombre like '*o'

Ejemplo 8

Seleccionar el nombre, el oficio y salario de los empleados que trabajan en León.

select nombre, oficio, 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’.

select count(*)

from EMPLEADO

where nombre like 'E*'

Ejemplo 15

Para cada oficio obtener la suma de salarios.

select oficio, sum(salario)

from EMPLEADO group by oficio

Page 6: Ejercicios sql access

SQL - Structured Query Language

P á g i n a | 6

Ejemplo 16

Mostrar los datos de los empleados cuyo salario sea mayor que la media de todos los salarios.

select *

from EMPLEADO

where salario>(select avg(salario) from EMPLEADO)

Ejemplo 17

Seleccionar el nombre del empleado que tiene máximo salario.

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.

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 ‘Cajas Carlos’ de 32 años, oficio Analista, vive en Matagalpa, fecha de ingreso en la empresa el 22-06-2001, su salario es de 15600, no tiene comisión y pertenece al departamento 20.

INSERT INTO EMPLEADO (cod_emp, nombre, edad, oficio, dir, fecha_ing, salario, comisión, cod_dep)

VALUES ('8','Cajas Carlos','32','Empleado','Matagalpa','22/06/2001','15600',null,'20');

Ejemplo 20

Insertar en la tabla DEPARTAMENTO un departamento cuyo número sea 50, de nombre ‘GENERAL’ y cuya localización sea ‘Laborio’.

INSERT INTO DEPARTAMENTO (cod_dep, nombre_dep, localización)

VALUES ('50','General','Laborio');

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’.

INSERT INTO DEPARTAMENTO (cod_dep, nombre_dep, localización)

VALUES ('60','Pruebas','Puerto Cayo');

Ejemplo 22

Doblar el salario a todos los empleados del departamento 30.

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.

update EMPLEADO

set cod_dep = 20

where cod_dep = 30

Ejemplo 24

Incrementar en un 10% el sueldo de los empleados del departamento 10.

update EMPLEADO

set salario=salario*1.1

where cod_dep=10

Page 7: Ejercicios sql access

SQL - Structured Query Language

P á g i n a | 7

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.

delete from DEPARTAMENTO

where cod_dep = 40

Ejemplo 27

En la tabla EMPELADO borrar todos los empleados que sean del departamento 20.

delete from EMPLEADO

where cod_dep = 20

Ejemplo 28

Mostrar el nombre, salario y nombre del departamento de los empleados que tengan el mismo oficio que ‘Esquivel Alfonso’

select nombre, salario, nombre_dep

from EMPLEADO, DEPARTAMENTO

where EMPLEADO.cod_dep=DEPARTAMENTO.cod_dep and oficio = (select oficio from EMPLEADO

where nombre='Vargas Héctor')

Ejemplo 29

Mostrar el nombre, salario y nombre del departamento de los empleados que tengan el mismo oficio que “Castillo Luis” y que no tengan comisión.

select nombre, salario, nombre_dep

from EMPLEADO, DEPARTAMENTO

where EMPLEADO.cod_dep=DEPARTAMENTO.cod_dep and oficio = (select oficio from EMPLEADO

where nombre='Castillo Luis') and comisión is null

Ejemplo 30

Mostrar el nombre y oficio de los empleados que trabajan en el departamento de contabilidad ordenados por nombres

Select nombre, oficio

from EMPLEADO, DEPARTAMENTO

where EMPLEADO.cod_dep=DEPARTAMENTO.cod_dep and nombre_dep = 'Contabilidad' order by

nombre

Ejemplo 31

Calcula el salario mínimo de los empleados del departamento ‘VENTAS’.

select min(salario)

from EMPLEADO, DEPARTAMENTO

where EMPLEADO.cod_dep=DEPARTAMENTO.cod_dep and nombre_dep='Ventas'

Ejemplo 32

Calcula el promedio del salario de los empleados del departamento de ‘CONTABILIDAD’.

select avg(salario)

from EMPLEADO, DEPARTAMENTO

where EMPLEADO.cod_dep=DEPARTAMENTO.cod_dep and nombre_dep='Contabilidad'