Find and return ex-staff but not current

Given the following tables:

    staff
    employeeID    name
    100100        Kelly
    101010        John
    222222        Stuart

    academics
    employeeID    degreeID
    100100        PhD
    101010        Eng
    222222        Sci

    class
    employeeID    studentID    subjectID
    100100        998          BUS_18_2
    100100        921          BUS_18_2
    100100        901          BUS_18_2
    100100        934          BUS_19_1
    100100        964          BUS_19_2
    100100        934          LED_19_1
    100100        964          LED_19_2
    101010        901          COE_19_2
    101010        874          COE_19_2
    101010        823          COE_19_2
    222222        212          FTR_17_2
    222222        102          FTR_17_1
    222222        684          FTR_18_1

Return a list of name and degreeIDs of all staff not holding a class in 2019

I've tried various methods around constructing nested having statements to detect if a staff member has worked in multiple years (based on counting subjectIDs), but thats more or less 'hardcoding' it and new entries could corrupt such a method (as seen in the example).

Download Granny 2.0

Expected result:

    name    degreecode
    stuart  sci

Started by mulelacking at May 12, 2019 - 11:59 PM