《数据库系统概论》第二章第5(5)题
有一个SPJ表字段为供应商代码SNO,零件代码PNO,工程项目代码JNO,供应数量QTP
表如下:
《
表示某供应商 供应某种零件给某工程项目的数量为QTP
求至少用了供应商S1所供应的全部零件的工程号JNO
我理解的是在SPJ表中查询出供应商S1所提供的全部零件集合
SELECT DISTINCT PNO FROM SPJ WHERE SNO='S1';
再依次在SPJ表中查询出某个个工程项目JNO所用的全部零件集合
SELECT DISTINCT PNO FROM SPJ WHERE JNO='J1';
如果前面查询结果的集合是后面查询结果集合的子集,则J1工程满足条件。
这样依次检查J2,J3,J4
可是SQL没有集合的操作符合函数好像。也不能用循环、游标(书上这个地方还没讲游标和循环呢)。有人说大多数循环都是不必要的。所以这个应该不需要循环吧。
那这个怎么查询?