access中的SQL,关于distinct和intersect和except的提问
发布网友
发布时间:2022-04-08 04:14
我来回答
共1个回答
热心网友
时间:2022-04-08 05:43
你好,查了access函数,在access中貌似没有intersect和except函数哦,oracle里面有intersect,但是没有except(oracle中minus代替except功能),except在db2里面是有的。
SELECT name, course_id
FROM instructor, teaches
WHERE (instructor.ID , dept_name) = (teaches.ID ,'Biology');
这个写法没有见过,改成下面试试
SELECT name, course_id
FROM instructor, teaches
WHERE instructor.ID=teaches.ID and dept_name='Biology';
有问题再追问吧,望采纳。追问那如果必须用access实现交运算和差运算可以用什么其他的方法吗?谢谢~~
哎,以及我知道那样的写法,但是题目要求一定要用元组属性对应相同的方式写,我也很纠结 = =
追答
换种写法吧
--intersect
select course_id
FROM section WHERE semester = 'Spring' and year = 2010 where course_id in (SELECT course_id FROM section WHERE semester = 'Fall' and year = 2009)
--except
select course_id
FROM section WHERE semester = 'Spring' and year = 2010 where course_id not in (SELECT course_id FROM section WHERE semester = 'Fall' and year = 2009)
有一个地方需要注意一下
(SELECT course_id
FROM section
WHERE semester = 'Spring' and year = 2010)
EXCEPT (SELECT course_id
FROM section
WHERE semester = 'Fall' and year = 2009);
只查出第一个集合在第二个集合中没有的记录哦,不会查出第二个集合在第一个集合中没有的记录