Advertisement
AlphaPenguino

DATABASE

Mar 25th, 2024 (edited)
651
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.39 KB | Source Code | 0 0
  1. CREATE TABLE StudentInfo (
  2.     StudentID VARCHAR(3) PRIMARY KEY,
  3.     LastName VARCHAR(45),
  4.     FirstName VARCHAR(45),
  5.     ProgramCode VARCHAR(45),
  6.     ProgramDesc VARCHAR(255)
  7. );
  8.  
  9. CREATE TABLE EmployeeInfo (
  10.     LogID INT PRIMARY KEY,
  11.     EmployeeID VARCHAR(6),
  12.     LogDate VARCHAR(8),
  13.     EmpName VARCHAR(255)
  14. );
  15.  
  16. CREATE TABLE EmployeeDtr (
  17.     EmployeeID VARCHAR(6),
  18.     EmpName VARCHAR(255),
  19.     LogID INT,
  20.     LogDate VARCHAR(8),
  21.     TimeRecID INT,
  22.     TIn VARCHAR(5),
  23.     TOut VARCHAR(5),
  24.     PRIMARY KEY (EmployeeID, LogID)
  25. );
  26.  
  27. INSERT INTO StudentInfo (StudentID, LastName, FirstName, ProgramCode, ProgramDesc)
  28. VALUES
  29. ('001', 'Cruz', 'Juan', 'BSCS', 'BS in Computer Science'),
  30. ('002', 'Perez', 'Henry', 'BSBA', 'BS in Business Administration'),
  31. ('003', 'Albuena', 'Andy', 'BSHRM', 'BS in Hotel and Restaurant Management'),
  32. ('004', 'Peralta', 'Vincent', 'BSED', 'BS in Education');
  33.  
  34. INSERT INTO EmployeeInfo (LogID, EmployeeID, LogDate, EmpName)
  35. VALUES
  36. (1, '01-054', '11-09-11', 'Jerry Mendoza'),
  37. (2, '01-056', '11-10-11', 'Dane Sevilla'),
  38. (3, '01-054', '11-11-11', 'Jerry Mendoza');
  39.  
  40. INSERT INTO EmployeeDtr (EmployeeID, EmpName, LogID, LogDate, TimeRecID, TIn, TOut)
  41. VALUES
  42. ('01-054', 'Jerry Mendoza', 1, '11-09-11', 1, '09:00', '18:03'),
  43. ('01-054', 'Jerry Mendoza', 3, '11-10-11', 1, '09:00', '18:03'),
  44. ('01-055', 'Dane Sevilla', 0, NULL, NULL, NULL, NULL),
  45. ('01-056', 'Mylene Antonia', 2, '11-09-11', 2, '7:30', '16:55');
  46.  
  47.  
  48. -- a. View Employee Time Record as inner join
  49. CREATE VIEW EmployeeTimeRecord AS
  50. SELECT
  51.     e.LogID,
  52.     e.EmployeeID,
  53.     e.LogDate,
  54.     e.EmpName,
  55.     d.TimeRecID,
  56.     d.TIn,
  57.     d.TOut
  58. FROM
  59.     EmployeeInfo e
  60. INNER JOIN
  61.     EmployeeDtr d ON e.EmployeeID = d.EmployeeID AND e.LogID = d.LogID;
  62. SELECT * FROM EmployeeTimeRecord;
  63.  
  64. -- b. View Employee Record as left join
  65. CREATE VIEW EmployeeRecord AS
  66. SELECT
  67.     e.LogID,
  68.     e.EmployeeID,
  69.     e.LogDate,
  70.     e.EmpName,
  71.     d.TimeRecID,
  72.     d.TIn,
  73.     d.TOut
  74. FROM
  75.     EmployeeInfo e
  76. LEFT JOIN
  77.     EmployeeDtr d ON e.EmployeeID = d.EmployeeID AND e.LogID = d.LogID;
  78.  
  79. -- c. View Log and employee Table as right join
  80. CREATE VIEW LogEmployeeTable AS
  81. SELECT
  82.     e.LogID,
  83.     e.EmployeeID,
  84.     e.LogDate,
  85.     e.EmpName,
  86.     d.TimeRecID,
  87.     d.TIn,
  88.     d.TOut
  89. FROM
  90.     EmployeeInfo e
  91. RIGHT JOIN
  92.     EmployeeDtr d ON e.EmployeeID = d.EmployeeID AND e.LogID = d.LogID;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement