【数据库】一个题目

"求至少用了供应商“S1”所供应的全部零件的工程号"的两种解法

    https://blog.csdn.net/weixin_43461724/article/details/108884823

    这个问题存在歧义,博主的是一种理解,我的理解是选择的工程严格地用了供应商“S1”所供应的全部零件,且这些零件不是由其他供应商供应的。

    SELECT DISTINCT JNO

    FROM

    (

    SELECT JNO

    FROM SPJ

    WHERE SNO = 'S1'

    ) AS SPJ1

    WHERE NOT EXISTS

    (

    SELECT *

    FROM

    (SELECT PNO

    FROM SPJ

    WHERE SNO = 'S1') AS SPJ2

    WHERE SPJ2.PNO NOT IN

    (

    SELECT PNO

    FROM

    (SELECT PNO,JNO

    FROM SPJ

    WHERE SNO = 'S1') AS SPJ3

    WHERE SPJ3.JNO = SPJ1.JNO

    )

    )

    posted @ 2020-11-17 19:27  文章烂兮  阅读(294)  评论(0)    收藏  举报