0% encontró este documento útil (0 votos)
44 vistas6 páginas

Consultas SQL para Gestión de Productos y Empleados

El documento contiene instrucciones SQL para crear tablas, insertar datos y realizar consultas en una base de datos de empleados. Se crean tablas para sedes, departamentos y empleados con sus respectivos campos y relaciones. Luego se insertan múltiples registros de ejemplo en cada tabla. Finalmente, se incluyen 10 consultas SQL para obtener información específica de las tablas como los sueldos totales por departamento, país o división.

Cargado por

Aarón Cruz
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)
44 vistas6 páginas

Consultas SQL para Gestión de Productos y Empleados

El documento contiene instrucciones SQL para crear tablas, insertar datos y realizar consultas en una base de datos de empleados. Se crean tablas para sedes, departamentos y empleados con sus respectivos campos y relaciones. Luego se insertan múltiples registros de ejemplo en cada tabla. Finalmente, se incluyen 10 consultas SQL para obtener información específica de las tablas como los sueldos totales por departamento, país o división.

Cargado por

Aarón Cruz
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

1.

- Insertar en una tabla “PRODUCTO” el registro con los siguientes valores:


La clave del producto es “1342”, el nombre del producto es “LASER”, el precio
es de
“1250.00” y pertenece a la fabrica “4”.

INSERT INTO PRODUCTO (ID_PRODUCTO, NOMBRE, PRECIO,


ID_FABRICA)
VALUES (1342, 'LASER', 1250.00, 4);

2.- De la Tabla PRODUCTO eliminar los elementos que cuyo precio sea entre 5 y 10.

DELETE FROM PRODUCTO


WHERE PRECIO BETWEEN 5 AND 10;

3.- En la tabla PRODUCTO se requiere actualizar el nombre por “Scanner”


de los elementos que tengan en ID _FABRICA igual a “4”.

UPDATE PRODUCTO
SET NOMBRE = 'SCANNER'
WHERE ID_FABRICA = 4;

4.- Realizar una consulta de la tabla PRODUCTO y mostrar los nombres y precios de
los productos
ordenados de manera ascendente por nombre y descendente por precio.

SELECT NOMBRE, PRECIO


FROM PRODUCTO
ORDER BY NOMBRE ASC, PRECIO DESC;

5.- Efectuar una consulta de la tabla PRODUCTO y mostrar el promedio del precio de
todos los productos que en el campo nombre aparezcan impresora.

SELECT AVG(PRECIO) AS PROMEDIO


FROM PRODUCTO
WHERE NOMBRE LIKE '%IMPRESORA%';

6.- Realizar una consulta de las tablas TABLA_EMPLEADO y EMPLEADO_DETALLE y


mostrar todos los datos de los empleados incluyendo su “IS” y “SALARIO”.

SELECT *
FROM EMPLEADO
INNER JOIN EMPLEADO_DETALLE
ON EMPLEADO.ID_EMPLEADO = EMPLEADO_DETALLE.ID_EMPLEADO;
7.- Realizar una consulta de las tablas TABLA_EMPLEADO y EMPLEADO_DETALLE
mostrar el “NOMBRE” y “APELLIDO” del empleado que tengan el máximo de los
salarios y que en puesto tenga el valor la constante “ADM”.

SELECT EMPLEADO.NOMBRE, EMPLEADO.APELLIDO,


MAX(EMPLEADO_DETALLE.SALARIO)
FROM EMPLEADO
INNER JOIN EMPLEADO_DETALLE
ON EMPLEADO.ID_EMPLEADO = EMPLEADO_DETALLE.ID_EMPLEADO
WHERE EMPLEADO.PUESTO = 'ADM';

9.- Efectuar una consulta de las tablas TABLA_EMPLEADO y EMPLEADO_DETALLE


que calcule el número de dias del empleado de nombre ”pepe” ha permanecido
en la
empresa y mostrar su nombre y el número de días.

SELECT DATEDIFF('y',EMPLEADO_DETALLE.FECHA_INGRESO, NOW()) AS


NUMERO DE DIAS, NOMBRE
FROM EMPLEADO
INNER JOIN EMPLEADO_DETALLE
ON EMPLEADO.ID_EMPLEADO = EMPLEADO_DETALLE.ID_EMPLEADO
WHERE EMPLEADO.NOMBRE = 'PEPE',

10.-De la tabla EMPLEADO_DETALLE, calcular la nomina total de todos los empleados

SELECT SUM(SALARIO) AS NOMINA


FROM EMPLEADO_DETALLE;

-------------------

1.- Obtener los totales de sueldos que tiene cada nombre de departamento

select a.nomdepto, sum(b.salario)


from deptos a, empleados b
where a.numdepto = b.numdepto
group by a.nomdepto;

2.- Obtener los totales de sueldos que tiene cada departamento del país MX

select a.nomdepto, sum(b.salario), c.pais


from deptos a, empleados b, sedes c
where a.numdepto = b.numdepto and a.localizacion = c.localizacion and c.pais =
'MX'
group by a.nomdepto;
3.- Obtener los nombres de los trabajadores que tienen de gerente a MARCO.

Select a.nombre, a.nuemp


from empleados a, deptos b
where a.numdepto = b.numdepto
and a.numdepto = (select d.numdepto from empleados c, deptos d where
c.nombre = 'MARCO' and d.gerente = c.nuemp );

4.- Obtener Nombre, Nombre de departamento, Gerente, Estado y País de los


trabajadores de la división CENTRO.

Select a.nombre, b.nomdepto, b.gerente, c.estado, c.pais


from empleados a, deptos b, sedes c
where b.division = 'CENTRO' and c.localizacion = b.localizacion and a.numdepto
= b.numdepto;

5.- Obtener Total de sueldos por división en las divisiones centro y sur

Select b.division, sum(a.salario)


from empleados a, deptos b
where b.division in ( 'CENTRO', 'SUR')
and a.numdepto = b.numdepto
Group by b.division;

6.- Obtener los nombres de los integrantes del departamento que tiene a la persona con
el sueldo más bajo.

Select b.nombre
from empleados b
where b.numdepto =
(select a.numdepto from empleados a where a.salario = (select min(a.salario)
from empleados a));

7.- Obtener los totales de sueldos que tiene cada País

select c.pais, sum(a.salario)


from empleados a, deptos b, sedes c
where a.numdepto = b.numdepto and b.localizacion = c.localizacion
group by pais;

8.- Obtener los nombres empleados a que estado, país, nombre de departamento y
gerente que pertenecen, los cuales tengan comisión menor o igual 200
select a.nombre, c.estado, c.pais, b.nomdepto, b.gerente
from empleados a, deptos b, sedes c
where a.numdepto = b.numdepto and b.localizacion = c.localizacion
and a.comision <= 200;

CREATE DATABASE EXAMEN;


USE EXAMEN;

CREATE TABLE SEDES (


LOCALIZACION VARCHAR(50) PRIMARY KEY NOT NULL,
ESTADO VARCHAR(35) NOT NULL,
PAIS VARCHAR(35) NOT NULL,
REGION VARCHAR(35) NOT NULL
);

CREATE TABLE DEPTOS (


NUMDEPTO INT(6) PRIMARY KEY,
NOMDEPTO VARCHAR(35) NOT NULL,
GERENTE INT(6) NOT NULL,
DIVISION VARCHAR(50),
LOCALIZACION VARCHAR(50),
FOREIGN KEY (LOCALIZACION) REFERENCES SEDES(LOCALIZACION)
);

CREATE TABLE EMPLEADOS (


NUEMP INT(6) PRIMARY KEY,
NOMBRE VARCHAR(35) NOT NULL,
NUMDEPTO INT(6) NOT NULL,
PUESTO VARCHAR(50),
TELEFONO VARCHAR(50),
EXT INT(6) NOT NULL,
ANIOS INT(6),
SALARIO INT(6) NOT NULL,
COMISION INT(6),
FOREIGN KEY (NUMDEPTO) REFERENCES DEPTOS(NUMDEPTO)
);

INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES


('D.F.','DF','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('SINALOA','CULIACAN','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('MONTERREY','NUEVOLEON','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('CHIHUAHUA','CHIHUAHUA','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('TLAXCALA','TLAXCALA','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('MICHUACAN','MORELIA','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('CHIAPAS','TUXTLA','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES ('QUINTANA
ROO','QUINTANA ROO','MX','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('PHOENIX','ARIZONA','EU','AMERICA');
INSERT INTO SEDES (LOCALIZACION, ESTADO, PAIS, REGION) VALUES
('BARCELONA','BARCELONA','ES','EUROPA');

INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)


VALUES (10,'CENTRAL',160,'CORPORATIVO','D.F.');
INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)
VALUES (15,'CULIACAN',50,'NORTE','SINALOA');
INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)
VALUES (20,'NUEVOLEON',10,'NORTE','MONTERREY');
INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)
VALUES (38,'CHIHUAHUA',30,'NORTE','CHIHUAHUA');
INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)
VALUES (42,'TLAXCALA',100,'CENTRO','TLAXCALA');
INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)
VALUES (51,'MORELIA',140,'CENTRO','MICHUACAN');
INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)
VALUES (66,'TUXTLA',270,'SUR','CHIAPAS');
INSERT INTO DEPTOS (NUMDEPTO, NOMDEPTO, GERENTE, DIVISION, LOCALIZACION)
VALUES (84,'QUINTANA ROO',290,'SUR','QUINTANA ROO');

INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,


ANIOS, SALARIO, COMISION) VALUES
(10,'JORGE',20,'GERENTE','35453534',123,7,18375.5, NULL);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(20,'JOSE',20,'VENDEDOR','34534567',123,8,13240.4,612.5);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(30,'GUSTAVO',38,'GERENTE','34534678',124,5,17500,NULL);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(40,'ENRIQUE',38,'VENDEDOR','34533124',124,6,18000.6,856);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(50,'MARCO',15,'GERENTE','34538767',125,10,20659,NULL);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(60,'ISRAEL',38,'VENDEDOR','34539898',126,NULL,16808.2,650.25);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(70,'GERMAN',15,'VENDEDOR','34555687',127,7,16502.5,1115.2);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(80,'ALBERTO',20,'EMPLEADO','34234433',128,NULL,13504,128);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(90,'SAMUEL',42,'VENDEDOR','34588998',129,6,18200,1386);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(100,'RICARDO',42,'GERENTE','34534566',122,7,18352.34,NULL);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(110,'JUAN',15,'EMPLEADO','34538941',135,5,12502.6,506);
INSERT INTO EMPLEADOS (NUEMP, NOMBRE, NUMDEPTO, PUESTO, TELEFONO, EXT,
ANIOS, SALARIO, COMISION) VALUES
(120,'MIGUEL',38,'EMPLEADO','34535644',111,NULL,12954,180);

También podría gustarte