问答题 已知某数据库系统中包含3个基本表:
商品基本表G00DS(G#, GNAME, PRICE, TYPE, FACT)
商场基本表SHOPS(S#, SNAME, MANAG, ADDR)
销售基本表SALES(S#, G#, QTY)
其中,G#,GNAME,PRICE,TYPE,FACT分别代表商品号,商品名,单价,型号,制造商;S#,SNAME,MANAG,ADDR分别代表商场号,商场名,经理,地址;QTY代表销售量。
试用SQL语句完成下列查询:
(1)查询不生产微波炉的制造商。
(2)查询位于南京路的所有商场的商场号和商场名。
(3)查询未销售南华厂的产品的商场名和经理。
(4)查询至少在S01和S02两个商场销售的商品名、型号和制造商。
(5)查询生产电视机的制造商的数量。
(6)查询平均销售量最高的商品号。

【正确答案】(1)SELECT FACT
FROM GOODS
WHERE FACT NOT IN
(SELECT FACT
FROM GOODS
WHERE GNAME='微波炉')
(2)SELECT S#, SNAME
FROM SHOPS
WHERE ADDR LIKE'南京路'
(3)SELECT SNAME, MANAG
FROM SHOPS
WHERE S#NOT IN
(SELECT S#
FROM SALES
WHERE G#IN
(SELECT G#
FROM COODS
WHERE FACT='南华')
(4)SELECT GNAME, TYPE, FACT
FROM GOODS
WHERE G#IN
(SELECT G#
FROM SALES
WHERE S#='S01'
AND G#IN
(SELECT G$
FROM SALES
WHERE S#='S02'))
(5)SELECT COUNT(DISTINCT FACT)
FROM GOODS
WHERE GNAME='电视机'
(6)SEIECT C#
FROM SALES
GROUP BY G#
HAVING AVG(QTY)>=ALL(SELECT AVG(QTY)
FROM SALES
GROUP BY(#)
【答案解析】