综合题
现有关系数据库如下:
商品表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)
【答案解析】