Это делается в sql oracle, используя ТОЛЬКО заданные операторы, а не IN, IN, NOT EXISTS, EXISTS, ANY, ALL.Операторы набора SQL
База данных:
Department(DeptNum, Descrip, Instname, DeptName, State, Postcode)
Academic(AcNum, DeptNum*, FamName, GiveName, Initials, Title)
Paper(PaNum, Title)
Author(PaNum*, AcNum*)
Field(FieldNum, ID, Title)
Interest(FieldNum*, AcNum*, Descrip)
Возникает вопрос:
Найти столбец DEPTNUM Описаны и InstName отделов в Квинсленд (КЛД или КЛД), где никто не авторство бумаги.
Моя текущая попытка просто выяснить, отделы, где никто не авторством бумагу вообще независимо от того, в каком состоянии они из
SELECT department.deptNum, department.state, department.instname
FROM department, academic
WHERE department.deptnum = academic.deptnum
AND NOT EXISTS
(SELECT *
FROM author
WHERE acnum = academic.acnum);
но, видимо, он должен возвращать только 1 кортеж. Я получаю 3 1 из которых - QLD. Если я пытаюсь удалить другие 2 путем добавления
AND department.state = 'QLD' OR department.state = 'Qld'
между пунктом WHERE и AND NOT EXISTS, я получаю слишком много результатов.
Любой, кто может помочь мне решить проблему?
[Домашний тег устарел] (http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated) Пожалуйста, не используйте. –
Извините, не знал. – bigubosu