USE SistemaNotas2;
GO
INSERT
INSERT INTO Departamentos
(Codigo, Nombre)
VALUES
(1, 'Financiero
X');
INSERT INTO Departamentos
(Nombre, Codigo)
VALUES
('Ventas X', 12);
/* Comentario */
-- Comentario2
INSERT INTO Departamentos
(Codigo, Nombre)
VALUES
(13, 'IT Y'),
(14, 'Contabilidad
Y'),
(15, 'Operaciones
Y');
-- NO SE INCLUYE Columna
CODIGO
-- PORQUE ES UN VALOR
Identity
INSERT INTO Empleados
(CUI, NombrePrimero, ApellidoPrimero,
FechaNacimiento, CodigoDepartamento,
NIT)
VALUES
('3206995851111', 'Esteban', 'Samayoa',
'1998/12/25', 4,
'808013-8');
SELECT *
FROM
Empleados
WHERE
CodigoDepartamento = 4
AND
ApellidoPrimero LIKE 'S%';
UPDATE
SELECT *
FROM
Empleados
WHERE
CodigoDepartamento = 4
AND
ApellidoPrimero LIKE 'S%';
-- MODIFICA EL NOMBRE
SEGUNDO DEL EMPLEADO
-- CON CODIGO = 8,
-- LA INSTRUCCION UPDATE
SIEMPRE DEBE LLEVAR
-- WHERE
UPDATE Empleados
SET NombreSegundo = 'Romero'
WHERE Codigo = 8;
-- UPDATE DEBE LLEVAR WHERE
UPDATE Empleados
SET NombreSegundo = 'Carlos',
ApellidoSegundo
= 'Perez'
WHERE Codigo = 252;
SELECT *
FROM Empleados
WHERE ApellidoPrimero =
'Samayoa';
DELETE
-- DELETE FROM Tabla
-- WHERE Una Condición
(Siempre debe llevar WHERE)Cod
DELETE FROM Empleados
WHERE ApellidoPrimero =
'Samayoa';
SELECT *
FROM Empleados
WHERE ApellidoPrimero =
'ramos';
SELECT * FROM HorasExtras
WHERE CodigoEmpleado =
500;
-- NO PERMITE EL DELETE
-- PORQUE EL EMPLEADO TIENE
HORAS EXTRAS
DELETE FROM Empleados
WHERE ApellidoPrimero =
'Ramos';
VIEW
CREATE VIEW [dbo].[vHExEmpxMes]
AS
SELECT CodigoEmpleado,
YEAR(Fecha) AS Año, MONTH(Fecha) AS Mes, SUM(Cantidad) AS TOTAL
FROM dbo.HorasExtras
GROUP BY CodigoEmpleado, YEAR(Fecha), MONTH(Fecha)
USE SistemaNotas
GO
-- CREAR UNA NUEVA VISTA
CREATE VIEW vEmpleadosxDepartamentos
AS
SELECT Dep.Codigo AS CodDepartamento,
Dep.Nombre AS
Departamento,
Emp.Codigo AS
CodEmpleado,
Emp.ApellidoPrimero, Emp.NombrePrimero,
Emp.CUI, Emp.FechaNacimiento
FROM Departamentos Dep
INNER JOIN Empleados
Emp
ON Dep.Codigo = Emp.CodigoDepartamento;
USE SistemaNotas
GO
SELECT
vEmpleadosxDepartamentos.Departamento,
vEmpleadosxDepartamentos.ApellidoPrimero,
vEmpleadosxDepartamentos.NombrePrimero,
vHExEmpxMes.Año, vHExEmpxMes.Mes,
vHExEmpxMes.TOTAL,
vHExEmpxMes.TOTAL * 11.70 AS MontoHorasExtras
FROM vEmpleadosxDepartamentos
INNER JOIN
vHExEmpxMes
ON vEmpleadosxDepartamentos.CodEmpleado
= vHExEmpxMes.CodigoEmpleado
WHERE vHExEmpxMes.Año
= 2015 AND
vHExEmpxMes.Mes = 7
ORDER BY
vEmpleadosxDepartamentos.Departamento,
vEmpleadosxDepartamentos.ApellidoPrimero,
vEmpleadosxDepartamentos.NombrePrimero;