我是SQL新手。我正在尝试编写一个需要包含运算符的查询。我正在查看contains子句的许多示例,但它们看起来与我需要使用的不同。我想在sql中使用除法运算符(关系代数)。
我正在做的一个例子是:
为学生提供注册计算机体系结构课程的名称,并满足其所有先决条件。我有一个先决条件表和一个列出学生所有课程的课程表
所以我最终想要的是 (获得学生所有课程)包含(获取所有先决条件)
我究竟应该在关系代数中找到与div运算相当的sql?
答案 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