2013-11-26 53 views
0

查询1:这两个SQL查询有什么区别?

SELECT Frequents.drinker FROM Frequents 
WHERE Frequents.drinker NOT IN ( 
SELECT F.drinker FROM Frequents AS F 
WHERE F.bar NOT IN 
( 
    SELECT bar FROM Sells, Likes WHERE Sells.beer = Likes.beer AND Likes.drinker = F.drinker 
)  
) 

QUERY 2:

SELECT Frequents.drinker FROM Frequents, Sells, Likes 
Where Frequents.drinker = Likes.drinker and Sells.bar IN(
    SELECT bar from Sells where Sells.beer = Likes.beer) 

关系模式

enter image description here 注:忽略拼写错误。

其中上述查询的是正确的“打印饮水服务于一些啤酒,他们喜欢 经常只吧。(假设每个 饮酒喜欢至少一个啤酒流连至少一个吧。)”

回答

0

第一季度发现饮酒者在酒吧销售啤酒。

第二季度发现不喝酒的酒吧不卖啤酒。

它可能但不一定意味着同样的事情。

这是转让吗?

+0

Q1是分配的解决方案,Q2是我提交的内容,我相信我的查询版本是正确的。 –

0

第一条SQL语句似乎选择了经常饮酒者去酒吧,不服务他们的首选啤酒。

第二条SQL语句列出了经常喝酒的酒吧,他们会出售他们喜欢的啤酒。