问题
问答题
对于工程数据库的四个基本表 厂家S(Sno,Sname,Status,City) 产品P(Pno,Pname,Weight,Color) 工程J(Jno,Jname,City) 供货SPJ(Sno,Pno,Jno,QTY) 试用SQL的查询语句表达下列查询。 ①给出货量(QTY)在300~500的所有供货情况。 ②查询使用了由供应红色产品的厂商供应的产品的工程名。 ③查询至少使用了厂家S1所提供的全部零件的工程名。
答案
参考答案:
解析:①SELECT* FROM SPJ WHERE QTY BETWEEN 300 AND 500 ②SELECT Jname FROM J WHERE Jno IN(SELECT Jno FROM SPJ WHER Sno IN (SELECT Sno FROM SPJ WHERE Pno IN (SELECT Pno FROM p WHERE Color=’红’))) ③SELECT Jname FROM J WHERE NOT EXISTS(SELECT* FROM SPJ SPJX WHERE Sno=’S1’ AND NOT EXISTS (SELECT* FROM SPJ SPJY WHERE SPJX. Pno=SPJY.Pno AND SPJY.Jno=J.Jno));