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

 

 

 

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

 

 

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值