CREATE TABLE Employee ( 
    EmployeeCardNumber CHAR(20) PRIMARY KEY, 
    Name VARCHAR(50), 
    Role VARCHAR(10), 
    AccessToThirdFloor INT CHECK(AccessToThirdFloor IN (0,1)), 
    YearsWithShip INT, 
    Salary DECIMAL(10,2)
); 

CREATE TABLE EmployeeLogTime (
    LogID INT PRIMARY KEY, 
    EmployeeCardNumber VARCHAR(20), 
    RoomAccessed VARCHAR(20), 
    Time TIME
);

INSERT INTO Employee (EmployeeCardNumber, Name, Role, AccessToThirdFloor, YearsWithShip, Salary) VALUES
    ('E0001', 'Captain Morgan', 'Captain', 1, 15, 120000.00),
    ('E0002', 'Sarah Blake', 'Engineer', 1, 8, 85000.00),
    ('E0003', 'Tom Harris', 'Cook', 0, 5, 50000.00),
    ('E0004', 'Linda Chen', 'Medic', 1, 10, 78000.00),
    ('E0005', 'Jake Turner', 'Technician', 0, 3, 62000.00);

INSERT INTO EmployeeLogTime(LogID, EmployeeCardNumber, RoomAccessed, Time) VALUES
    (1, 'E0001', 'Bridge', '08:30:00'),
    (2, 'E0002', 'Engine Room', '09:15:00'),
    (3, 'E0003', 'Kitchen', '07:45:00'),
    (4, 'E0004', 'Medical Bay', '10:00:00'),
    (5, 'E0005', 'Maintenance Hub', '11:20:00'),
    (6, 'E0002', 'Sauna', '12:00:00'),
    (7, 'E0004', 'Sauna', '13:15:00');

-- Find the names of the employees who last accessed the sauna and what time 
-- This problem here doesn't have any if available, regardless, whether or not

-- If you don't have stipulations, I'm going to use inner join
-- Inner Join is the default type of join 

-- Table alias is optional unless you are doing a multiple join or a self-join

SELECT Employee.Name, EmployeeLogTime.Time 
-- E.Name , EL.Time
FROM Employee 
-- Employee E 
INNER JOIN EmployeeLogTime 
-- EmployeeLog EL 
ON Employee.EmployeeCardNumber = EmployeeLogTime.EmployeeCardNumber 
-- E.EmployeeCardNumber = EL.EmployeeCardNumber
WHERE EmployeeLogTime.RoomAccessed = 'Sauna';
-- EL.RoomAccessed = 'Sauna'; 





Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: