SQL中一个表是否包含另外一个表的问题的实现

来源:互联网 发布:痘坑怎么修复知乎 编辑:程序博客网 时间:2024/06/16 13:30

 

 

 

上面的查询大体思想就是在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,继续下一个课程。

 

 

这个查询大体就是上面解释这样。

 

 

原创粉丝点击