oracle 10g包含子句

时间:2015-03-20 02:05:30

标签: sql oracle10g contains

我是SQL新手。我正在尝试编写一个需要包含运算符的查询。我正在查看contains子句的许多示例,但它们看起来与我需要使用的不同。我想在sql中使用除法运算符(关系代数)。

我正在做的一个例子是:

为学生提供注册计算机体系结构课程的名称,并满足其所有先决条件。我有一个先决条件表和一个列出学生所有课程的课程表

所以我最终想要的是 (获得学生所有课程)包含(获取所有先决条件)

我究竟应该在关系代数中找到与div运算相当的sql?

1 个答案:

答案 0 :(得分:1)

您可以通过比较计数来完成此操作。

select s.StudentName
from StudentCourses s, PrereqCourses p
where s.CourseId = p.CourseId
group by s.StudentName
having count(*) = (select count(*) from PrereqCourses)

请参阅:http://www.dba-oracle.com/t_sql_patterns_relational_division.htm