Я учусь на выпускной экзамен, и это приходит в прошлом экзамена:Что делает этот запрос?
Таблица: Медсестра - (нидь: INT, NNAME: строка, возраст: реальная, заработная плата: реальный, SID : ИНТ)
Таблица: Supervisor - (с.и.д.: INT, рейтинг: реальный)
Таблица: WorksIn - (нидь: INT, спрятанные: INT, часы: реальные)
Таблица: больница - (hid: int, hname: string, tid: int)
Таблица: Город - (TID: INT, TName: строка, мэр: строка)Объясните, что следующий запрос возвращает:
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.
Хороший вопрос бумага! :) –
NOT EXISTS - это оператор, который возвращает false, если в подзапросе, который он ссылается, есть какие-либо строки в нем, а true - в противном случае. Таким образом, он выберет всех медсестер, для которых этот подзапрос возвращает 0 строк. – Patashu
Пожалуйста, не оставляйте вопросы, которые содержат большую часть содержимого изображения, если это не требуется для заданного вопроса. Это делает невозможным копирование/вставку любого содержимого для тестирования, и это ужасно для тех, кто посещает сайт с мобильных устройств. Благодарю. :-) –