这是在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(QLD或昆士兰)。
我现在的尝试是刚刚弄清楚那里没有一个人撰写的论文根本不管他们是什么状态从
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。如果我试图通过添加
AND department.state = 'QLD' OR department.state = 'Qld'
WHERE子句之间,除去其他2 AND NOT EXISTS,我得到了太多的结果。
任何人都能指导我解决问题吗?
[家庭作业标签已弃用](http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated)请勿使用。 –
对不起,不知道。 – bigubosu