有四个表
供应商表S(sno,sname,city)
零件表P(pno,pname,color,weight)
工程项目表J(jno,jname,city)
供应情况表SPJ(sno,pno,jno,qty)
有一题是这样的:
求至少用了s1供应商所供应的全部零件的工程号jno,我用关系代数写出了答案如附件所示,怎么把它改成sql语言呢,其中的除法怎么变?

解决方案 »

  1.   

    http://xs.to/xs.php?h=xs126&d=08175&f=divide876.jpg
    这个地址可以查看图片,不好意思,麻烦大家了!~
      

  2.   

    设有
    表X (A,B,C,D)
    表Y (C,D)--C,D列必须与X表的C,D列在相同的域上定义
    那么表X除表Y的结果集为select distinct A,B
    from X
    join Y on Y.C = X.C and Y.D = X.D或者select distinct A,B
    from X
    where exists(select 1 from Y where Y.C = X.C and Y.D = X.D)
      

  3.   


    SELECT jno
    FROM J a
    WHERE NOT EXISTS(
    SELECT 1
    FROM SPJ b
    WHERE sno = s1
    AND a.jno = b.jno
    AND NOT EXISTS(
    SELECT 1 
    FROM J c
    WHERE c.jno = b.jno  
    )

    )