设有一个数据库,包括S、P、J、SJP四个关系模式如下:供应商关系模式S(SNO,SNAME, CITY)零件关系模式P(PNO, PNAME, COLOR, WEIGHT)工程项目关系模式J(JNO, JNAME, CITY)供应情况关系模式SJP(SNO, PNO, JNO, QTY)假定它们都已经有若干数据。则“找出北京供应商供应的所有零件信息”的SELECT语句是( )。
A.SELECT * FROM S WHERE CITY=′北京′
B.SELECT SNO, SNAME FROM S WHERE CITY=′北京′
C.SELECT * FROM S, P WHERE CITY=′北京′AND SNO=SJ SNO AND SJ PNO= PNO
D.SELECT * FROM P,S, SJP WHERE CITY=′北京′AND SNO=SJ SNO AND SJ PNO= PNO
参考答案:D
解析: 由于要找出零件信息,因此必然要用到表P,又因为是从北京供应商里查找,因此要用到表S,再加上两者之间的关系SJP,故SELECT后的FROM于句应为FROM P,S,JP。“北京供应商”的表达式是S.CITY='北京',还要满足在3个表中的SNO和PNO属性对应相等,故WHERE语句为WHERE S.CITY='北京'AND S.SNO=SJP.SNO AND SJP.PNO=P.PNO.由此本题应该选D)。