0% encontró este documento útil (0 votos)
121 vistas3 páginas

Taller SQL

El documento contiene el código SQL para crear tablas de departamentos y empleados, e insertar datos de ejemplo. Se crean las tablas DEPARTAMENTO y EMPLEADO, con llaves primarias y llaves foráneas. Luego se insertan registros de departamentos y empleados con datos de nombre, fecha, salario, comisión, cargo, entre otros. Finalmente, se listan 25 consultas SQL para obtener y filtrar datos de las tablas.
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
121 vistas3 páginas

Taller SQL

El documento contiene el código SQL para crear tablas de departamentos y empleados, e insertar datos de ejemplo. Se crean las tablas DEPARTAMENTO y EMPLEADO, con llaves primarias y llaves foráneas. Luego se insertan registros de departamentos y empleados con datos de nombre, fecha, salario, comisión, cargo, entre otros. Finalmente, se listan 25 consultas SQL para obtener y filtrar datos de las tablas.
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 DOCX, PDF, TXT o lee en línea desde Scribd

/*Creación de tablas*/

CREATE TABLE DEPARTAMENTO


(
CODDEPTO VARCHAR(4) PRIMARY KEY NOT NULL,
NOMBREDPTO VARCHAR(20) NOT NULL,
CIUDAD VARCHAR(15),
CODDIRECTOR VARCHAR(12)
);
/*EL CODDIRECTOR ES EL MISMO CODEMPLEADO, PERO CODDIRECTOR NO ESTA COMO FORANEA*/
CREATE TABLE EMPLEADO
(
CODEMPLEADO VARCHAR(12) PRIMARY KEY NOT NULL,
NOMEMPLEADO VARCHAR(30) NOT NULL,
SEXEMP CHAR(1) NOT NULL CHECK(SEXEMP IN('F','M')),
FECNACIMIENTO DATE,
FECINCORPORACION DATE,
SALARIOEMPLEADO NUMERIC,
COMISIONEMP NUMERIC,
CARGOEMP VARCHAR(15),
JEFEID VARCHAR(12),
CODDEPTO VARCHAR(4)
);
--LLAVES FORANEAS

ALTER TABLE EMPLEADO


ADD CONSTRAINT FK_CODDEPTO FOREIGN KEY (CODDEPTO) REFERENCES DEPARTAMENTO(CODDEPTO);

/* INSERT PARA DEPARTAMENTO*/


INSERT INTO DEPARTAMENTO VALUES ('1000', 'GERENCIA', 'CALI', '31.840.269');
INSERT INTO DEPARTAMENTO VALUES ('1500', 'PRODUCCIÓN', 'CALI', '16.211.383');
INSERT INTO DEPARTAMENTO VALUES ('2000', 'VENTAS', 'CALI', '31.178.144');
INSERT INTO DEPARTAMENTO VALUES ('3000', 'INVESTIGACIÓN', 'CALI', '16.759.060');
INSERT INTO DEPARTAMENTO VALUES ('3500', 'MERCADEO', 'CALI', '22.222.222');
INSERT INTO DEPARTAMENTO VALUES ('2100', 'VENTAS', 'POPAYAN', '31.751.219');
INSERT INTO DEPARTAMENTO VALUES ('2200', 'VENTAS', 'BUGA', '768.782');
INSERT INTO DEPARTAMENTO VALUES ('2300', 'VENTAS', 'CARTAGO', '737.689');
INSERT INTO DEPARTAMENTO VALUES ('4000', 'MANTENIMIENTO', 'CALI', '333.333.333');
INSERT INTO DEPARTAMENTO VALUES ('4100', 'MANTENIMIENTO', 'POPAYAN', '888.888');
INSERT INTO DEPARTAMENTO VALUES ('4200', 'MANTENIMIENTO', 'BUGA', '11.111.111');
INSERT INTO DEPARTAMENTO VALUES ('4300', 'MANTENIMIENTO', 'CARTAGO', '444.444');

/*INSERT PARA EMPLEADO*/

INSERT INTO EMPLEADO VALUES ('31.840.269', 'María Rojas',


'F',TO_DATE('1959/01/15','yyyy/mm/dd'),TO_DATE('1990/05/16','yyyy/mm/dd'), 6250000,
1500000, 'Gerente', NULL, '1000');
INSERT INTO EMPLEADO VALUES ('16.211.383', 'Luis Pérez', 'M',TO_DATE('1956-02-
25','yyyy/mm/dd'),TO_DATE('1900-01-01','yyyy/mm/dd'), 5050000, 0, 'Director',
'31.840.269', '1500');
INSERT INTO EMPLEADO VALUES ('31.178.144', 'Rosa Angulo', 'F',TO_DATE('1957-03-
15','yyyy/mm/dd'),TO_DATE('1998-08-16','yyyy/mm/dd'), 3250000, 3500000, 'Jefe
Ventas', '31.840.269','3000');
INSERT INTO EMPLEADO VALUES ('16.759.060', 'Darío Casas', 'M',TO_DATE('1960-04-
05','yyyy/mm/dd'),TO_DATE('1992-11-01','yyyy/mm/dd'), 4500000, 500000,
'Investigador', '31.840.269', '3000');
INSERT INTO EMPLEADO VALUES ('22.222.222', 'Carla López', 'F',TO_DATE('1975-05-
11','yyyy/mm/dd'),TO_DATE('1905-07-16','yyyy/mm/dd'), 4500000, 500000, 'Jefe
Mercadeo', '31.840.269', '3500');
INSERT INTO EMPLEADO VALUES ('22.222.333', 'Carlos Rozo', 'M',TO_DATE('1975-05-
11','yyyy/mm/dd'),TO_DATE('1901-09-16','yyyy/mm/dd'), 750000, 500000, 'Vigilante',
'31.840.269', '3500');
INSERT INTO EMPLEADO VALUES ('1.751.219', 'Melissa Roa', 'F',TO_DATE('1960-06-
19','yyyy/mm/dd'),TO_DATE('1901-03-16','yyyy/mm/dd'), 2250000, 2500000, 'Vendedor',
'31.178.144', '2100');
INSERT INTO EMPLEADO VALUES('768.782', 'Joaquín Rosas', 'M',TO_DATE('1947-07-
07','yyyy/mm/dd'),TO_DATE('1990-05-16','yyyy/mm/dd'), 2250000, 2500000, 'Vendedor',
'31.178.144', '2200');
INSERT INTO EMPLEADO VALUES ('737.689', 'Mario Llano', 'M',TO_DATE('1945-08-
30','yyyy/mm/dd'),TO_DATE('1990-05-16','yyyy/mm/dd'), 2250000, 2500000, 'Vendedor',
'31.178.144', '2300');
INSERT INTO EMPLEADO VALUES ('333.333.333', 'Elisa Rojas', 'F',TO_DATE('1979-
09-28','yyyy/mm/dd'),TO_DATE('1904-06-01','yyyy/mm/dd'), 3000000, 1000000, 'Jefe
Mecánicos', '31.840.269', '4000');
INSERT INTO EMPLEADO VALUES ('888.888', 'Iván Duarte', 'M',TO_DATE('1955-08-
12','yyyy/mm/dd'),TO_DATE('1998-05-16','yyyy/mm/dd'), 1050000, 200000, 'Mecánico',
'333.333.333', '4100');
INSERT INTO EMPLEADO VALUES ('11.111.111', 'Irene Díaz', 'F',TO_DATE('1979-
09-28','yyyy/mm/dd'),TO_DATE('1904-06-01','yyyy/mm/dd'), 1050000, 200000,
'Mecánico', '333.333.333', '4200');
INSERT INTO EMPLEADO VALUES ('444.444', 'Abel Gómez', 'M',TO_DATE('1939-12-
24','yyyy/mm/dd'),TO_DATE('1900-10-01','yyyy/mm/dd'), 1050000, 200000, 'Mecánico',
'333.333.333', '4300');
INSERT INTO EMPLEADO VALUES ('1.130.222', 'José Giraldo', 'M',TO_DATE('1985-01-
20','yyyy/mm/dd'),TO_DATE('1900-11-01','yyyy/mm/dd'), 1200000, 400000, 'Asesor',
'22.222.222', '3500');
INSERT INTO EMPLEADO VALUES ('19.709.802', 'William Daza', 'M',TO_DATE('1982-10-
09','yyyy/mm/dd'),TO_DATE('1999-12-16','yyyy/mm/dd'), 2250000,
1000000,'Investigador', '16.759.060', '3000');
INSERT INTO EMPLEADO VALUES ('31.174.099', 'Diana Solarte', 'F',TO_DATE('1957-11-
19','yyyy/mm/dd'),TO_DATE('1990-05-16','yyyy/mm/dd'), 1250000, 500000, 'Secretaria',
'31.840.269', '1000');
INSERT INTO EMPLEADO VALUES ('1.130.777', 'Marcos Cortez', 'M',TO_DATE('1986-06-
23','yyyy/mm/dd'),TO_DATE('1900-04-16','yyyy/mm/dd'), 2550000, 500000, 'Mecánico',
'333.333.333', '4000');
INSERT INTO EMPLEADO VALUES ('1.130.782', 'Antonio Gil', 'M',TO_DATE('1980-01-
23','yyyy/mm/dd'),TO_DATE('1910-04-16','yyyy/mm/dd'), 850000, 1500000, 'Técnico',
'16.211.383', '1500');
INSERT INTO EMPLEADO VALUES ('333.333.334', 'Marisol Pulido', 'F',TO_DATE('1979-
10-01','yyyy/mm/dd'),TO_DATE('1990-05-16','yyyy/mm/dd'), 3250000, 1000000,
'Investigador', '16.759.060', '3000');
INSERT INTO EMPLEADO VALUES ('333.333.335', 'Ana Moreno', 'F',TO_DATE('1992-01-
05','yyyy/mm/dd'),TO_DATE('1904-06-01','yyyy/mm/dd'), 1200000, 400000, 'Secretaria',
'16.759.060', '3000');
INSERT INTO EMPLEADO VALUES ('1.130.333', 'Pedro Blanco', 'M',TO_DATE('1987-
10-28','yyyy/mm/dd'),TO_DATE('1900-10-01','yyyy/mm/dd'), 800000, 3000000,
'Vendedor', '31.178.144','1500');
INSERT INTO EMPLEADO VALUES ('1.130.444', 'Jesús Alfonso', 'M',TO_DATE('1988-
03-14','yyyy/mm/dd'),TO_DATE('1900-10-01','yyyy/mm/dd'), 800000, 3500000,
'Vendedor', '31.178.144','1500');
INSERT INTO EMPLEADO VALUES ('333.333.336', 'Carolina Ríos',
'F',TO_DATE('1992-02-15','yyyy/mm/dd'),TO_DATE('1900-10-01','yyyy/mm/dd'), 1250000,
500000, 'Secretaria', '16.211.383', '1500');
INSERT INTO EMPLEADO VALUES ('333.333.337', 'Edith Muñoz', 'F',TO_DATE('1992-
03-31','yyyy/mm/dd'),TO_DATE('1900-10-01','yyyy/mm/dd'), 800000, 3600000,
'Vendedor', '31.178.144', '2100');
INSERT INTO EMPLEADO VALUES ('1.130.555', 'Julián Mora', 'M',TO_DATE('1989-07-
03','yyyy/mm/dd'),TO_DATE('1900-10-01','yyyy/mm/dd'), 800000, 3100000, 'Vendedor',
'31.178.144', '2200');
INSERT INTO EMPLEADO VALUES ('1.130.666', 'Manuel Millán', 'M',TO_DATE('1990-
12-08','yyyy/mm/dd'),TO_DATE('1904-06-01','yyyy/mm/dd'), 800000, 3700000,
'Vendedor', '31.178.144', '2300');

Realizar las siguientes consultas

1. Obtener los datos completos de los empleados.


2. Obtener los datos completos de los departamentos.
3. Obtener los datos de los empleados con cargo ‘Secretaria’.
4. Obtener el nombre y salario de los empleados.
5. Obtener los datos de los empleados vendedores, ordenado por nombre.
6. Listar el nombre de los departamentos.
7. Obtener el nombre y cargo de todos los empleados, ordenado por salario.
8. Listar los salarios y comisiones de los empleados del departamento 2000,
ordenado por comisión.
9. Listar todas las comisiones.
10. Obtener el valor total a pagar que resulta de sumar a los empleados del
departamento 3000 una bonificación de 500.000, en orden alfabético del
empleado.
11. Obtener la lista de los empleados que ganan una comisión superior a su
sueldo.
12. Listar los empleados cuya comisión es menor o igual que el 30% de su sueldo.
13. Elabore un listado donde para cada fila, figure ‘Nombre’ y ‘Cargo’ antes del
valor respectivo para cada empleado.
14. Hallar el salario y la comisión de aquellos empleados cuyo número de
documento de identidad es superior al ‘19.709.802’.
15. Listar el salario, la comisión, el salario total (salario + comisión),
documento de identidad del empleado y nombre, de aquellos empleados que
tienen comisión superior a 1.000.000, ordenar el informe por el número del
documento de identidad.
16. Obtener un listado similar al anterior, pero de aquellos empleados que NO
tienen comisión.
17. Obtener los nombres de los departamentos que no sean “Ventas” ni
“Investigación” NI
18. ‘MANTENIMIENTO’.
19. Obtener el nombre y el departamento de los empleados con cargo ‘Secretaria’ o
‘Vendedor’, que no trabajan en el departamento de “PRODUCCION”, cuyo salario
es superior a $1.000.000, ordenados por fecha de incorporación.
20. Mostrar el salario más alto de la empresa.
21. Hallar el salario más alto, el más bajo y la diferencia entre ellos.
22. Mostrar el número de empleados de sexo femenino y de sexo masculino, por
departamento.
23. Hallar el salario promedio por departamento.
24. Hallar los departamentos que tienen más de tres empleados. Mostrar el número
de empleados de esos departamentos.
25. Hallar los departamentos que no tienen empleados.

También podría gustarte