CREATE TABLE departamentos(
id_dptos INT,
nombre_dptos VARCHAR(50),
presupuesto INT,
PRIMARY KEY (id_dptos)
);
DESCRIBE departamentos;
CREATE TABLE empleados (
id_empleado INT,
nombre_empleado VARCHAR(50),
apellido_empleado VARCHAR(50),
salario INT,
puesto VARCHAR (70),
id_dptos INT,
PRIMARY KEY (id_empleado),
FOREIGN KEY (id_dptos) REFERENCES departamentos(id_dptos)
);
DESCRIBE empleados;
-- DATOS INICIALES
INSERT INTO departamentos VALUES (1, 'Ventas', 50000), (2, 'TI', 80000);
DESCRIBE departamentos;
INSERT INTO empleados VALUES
(1, 'Ana', 'Maria', 2000, 'junior', 1),
(2, 'Luis', 'Jimenes', 2500, 'senior', 1),
(3, 'Sofia', 'Villegas', 2200, 'junior', 2),
(4, 'Carlos', 'Alberto', 3000, 'senior', 2);
DESCRIBE empleados;
-- ACTUALIZA FILAS QUE CUMPLAN CONDICION
UPDATE empleados
SET salario = salario + 100
WHERE id_empleado = 1;
DESCRIBE empleados;
-- ACTUALIZA DOS ATRIBUTOS EN DOS TRABAS CON FILTRO DE OTRA TABLA
UPDATE empleados e
JOIN departamentos d ON e.id_dptos = d.id_dptos
SET e.salario = e.salario + 100,
d.presupuesto = d.presupuesto - 100
WHERE e.puesto = 'senior';
DESCRIBE empleados;
-- ACTUALIZA TODAS LAS FILAS
UPDATE empleados
SET salario = salario * 1.1;
DESCRIBE empleados;
-- ACTUALIZA CON ORDEN Y LIMITE
UPDATE empleados
SET salario = salario + 150
ORDER BY salario ASC
LIMIT 22;
DESCRIBE empleados;
-- ACTUALIZA CON CONDICION
UPDATE empleados
SET salario = CASE
WHEN puesto = 'junior' THEN salario * 1.05
WHEN puesto = 'senior' THEN salario * 1.05
ELSE salario
END;
DESCRIBE empleados;
-- BORRAR TODAS LAS FILAS DE LA TABLA
DELETE FROM empleados;
DESCRIBE empleados;
-- BORRAR CON FILTRO
DELETE FROM empleados
WHERE puesto = 'junior';
DESCRIBE empleados;
-- BORRAR FILAS DE UNA TABLA CON FILTRO DE OTRA TABLA
DELETE e
FROM empleados e
JOIN departamentos d ON e.id_dptos = d.id_dptos
WHERE d.presupuesto < 50000;
DESCRIBE empleados;
To embed this project on your website, copy the following code and paste it into your website's HTML: