我正在为期末考试而学习,这出现在过去的考试中:
表:护士-(nid:int,nname:string,age:real,salary:real,sid:int)
表:主管-(sid:int,rating:real)
表:WorksIn-(nid:int,hid:int , hours:real)
表:医院 - ( hid:int , hname:string, tid:int)
表:城镇 - ( tid:int , tname:string, mayor:string)解释以下查询检索的内容:
SELECT nname FROM Nurse N WHERE NOT EXISTS ( (SELECT H.hid FROM Hospital H WHERE H.town = ‘Toronto’) EXCEPT (SELECT W.hid FROM WorksIn W WHERE N.nid = W.nid))
这个查询有什么作用?我可以理解子查询返回多伦多所有没有护士工作的医院,但我不知道这与 NOT EXIST 部分有何联系。