上面的查询大体思想就是在table1中逐个取出元组,然后在table2中查找是否有这么一个元组。
如果table2有这个元组,表示table2包含这个元组,继续看table1的下一个元组。
如果table2没有这个元组,则表示table2不能完全包含table1,这样就可以实现查看一个表是否
包含另外一个表了。
就这么一个试验,我进行了下面的测试:查询所有课程中,被cs系全部老师教过的课程。
就事说找到这样一个课程:该课程被所有的老师都讲过。
于是有了下面的代码:
上面代码的意思是:
1.在课程course表中拿出一个课程C,
2.找到cs系的全部老师,
3.从cs系的老师中拿出一个老师T,然后从 老师-教课 这个表中查看老师T是否教了课程C
(1)如果老师T教了课程C,则继续看cs系的其他老师。如果cs系的其他老师也都教过课程C,
则课程C就是我们要找的课程。然后回到步骤1,重复。
(2)如果老师T没有教课程C,则可以直接断定课程C不是我们要找的课程,返回1,继续下一个课程。
这个查询大体就是上面解释这样。