I'm struggling with an SQL query.
I am building a booking system for a ski resort and in my database I have instructors and sessions. A session can have an instructor, and it has a date and startTime and endTime.
In order to add a session, I want to get all available instructors for a chosen time and date. In other words, all instructors who don't have a booking on that date and at that time.
Table example:

e.g
instructors: i1, i2, i3, i4, i5, i6, i7, i8

sessions: 

Instructor | date | start | end |

```
**i1**          **2017-05-03**        **14:30:00**      **15:30:00**
**i2**          **2017-05-03**        **14:30:00**      **15:30:00**
**i3**          **2017-10-03**        **10:30:00**      **11:30:00**
**i4**          **2017-05-03**        **10:30:00**      **11:30:00**
**i1**          **2017-11-03**        **14:30:00**      **15:30:00**

```

Then for input date='2017-05-03' and start='14:30' and end='15'30' i want to get

i3,i4,i5,i6,i7,i8

Figured out that I need to left join session to instructors, group by instructor id and then eliminate those ids that have a field in the group with the selected
inputs. However, for the GROUP BY clause, i have to use an aggregate function and i don't know which one could apply here.