如何用SQL完成如下查询

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:14:35
2.数据模型如下;
商店S(SNO,SNAME,CITY)
商品P(PNO,PNAME,COLOR)
销售SP(SNO,PNO,DATE,QTY)
用SQL完成查询:销售全部商品的商店名。

SELECT SNAME
FORM S
WHERE NOT EXISTS
( SELECT *
FROM P
WHERE NOT EXISTS
( SELECT *
FORM P
WHERE PNO=P.PNO
AND SNO =S.SNO));
解题思路:
“查出商店名,该商店不存在不销售的商品。”
“该商店不销售的商品”可以处理为“从P中选择商品,P中不存在前面所查商店销售该商品的记录”
希望对你有用,呵呵 ^_^

select Sname from S where SNO in (Select SNO from SP group By SNO having count(distinct PNO)=(select count(distinct PNO) from P) )