I think this should do the trick:
query { for student in db.Student do leftOuterJoin selection in db.CourseSelection on (student.StudentID = selection.StudentID) into result where (not (result.Any())) select student}
or a nested query:
query { for student in db.Student do where (query { for selection in db.CourseSelection do all (student.StudentID <> selection.StudentID) }) select student}
Edit: since you're using FSharp.Data.TypeProviders, if you have a foreign key between these two tables then you should also have a property that gives the associated CourseSelection
s, something like this:
query { for student in db.Student do where (not (student.CourseSelections.Any())) select student}