问答题
对于工程数据库的四个基本表:
厂家S(Sno,Sname,Status,City)
产品P(Pno,Pname,Weight,Color)
工程J(Jno,Jname,City)
供货SPJ(Sno,Pno,Jno,QTY)
试用SQL的查询语句表达下列查询:
问答题
查找出货量(QTY)在300~500的所有供货情况;
【正确答案】
【答案解析】SELECT * FROM SPJ WHERE QTY BETWEEN 300 AND 500
问答题
查询使用了由供应红色产品的厂商供应的产品的工程名;
【正确答案】
【答案解析】SELECT Jname FROM J WHERE Jno IN(SELECT Jno FROM SPJ WHERE Sno IN(SELECT Sno FROM SPJ WHERE Pno IN(SELECT Pno FRDM P WHERE Color=‘红’)))
问答题
查询至少使用了厂家S1所提供的全部零件的工程名。
【正确答案】
【答案解析】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)); [解析] 考查对于复杂关系的代数转换,通过EXISTS或NOT EXISTS实现。