综合题 现有关系数据库如下: 商品表Goods(Gno,Gname, Gprice,Gtype,Gfact),各属性含义依次为商品号,商品名,单价,型号,制造商; 商场表Shops(Sno,Sname,Mname,Saddr),各属性含义依次为商场号,商场名,经理,地址; 销售表Sales(Gno,Sno,Qty),各属性含义依次为商品号,商场号,销售量; 试用SQL语言完成以下操作:
问答题 查询制造商为“杭州数源”的商品号,商品名,单价,型号;
【正确答案】查询制造商为“杭州数源”的商品号,商品名,单价,型号; SELECT Gno,Gname,Gprice,Gtype FROM Goods WHERE Gfact=’杭州数源’
【答案解析】
问答题 查询销售单价低于2000元电视机的商品号,商场号,商场名,地址和销售量;
【正确答案】SELECT Gno,Sno,Sname,Saddr, Qty FROM Goods, Shops, Sales WHERE Gprice <2000 AND Gname = ’电视机’AND Goods.Gno= Sales.Gno AND Shops.Sno= Sales.Sno
【答案解析】
问答题 建立表Sales,并且定义主码和外码。(假设商品表和商场表已存在,商品号为字符型,长度为5,商场号为字符型,长度为4,销售量为短整型)
【正确答案】CTREATE TABLE Sales(Gno CHAR(5),Sno CHAR(4),Qty SMALLINT, PRIMARY KEY(Gno,Sno ), FOREING KEY(Gno) REFRENCES Shops(Gno), FOREING KEY (Sno ) REFRENCES Goods (Sno))
【答案解析】
问答题 将商场号为“S003”的地址改为“延安路100号”。
【正确答案】UPDATE Shops SET Saddr=‘延安路100号路’ WHERE Sno=‘S003’
【答案解析】
问答题 查询销售两种或两种以上商品的商场名和它的地址。
【正确答案】SELECT Sname,Saddr FROM Shops WHERE Sname IN (SELECT Sname FROM Sales GROUP BY Sname HAVING COUNT(*)>=2)
【答案解析】