请用关系代数表示下列查询语句F(drinker,bar) S (bar,beer) L (drinker,beer)1、找出这样的饮酒人,他经常光顾供应他喜欢的啤酒的酒吧间.2、找出不提供青岛啤酒的酒吧.3、找出这样的饮酒人,不去提
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 09:05:54
请用关系代数表示下列查询语句F(drinker,bar) S (bar,beer) L (drinker,beer)1、找出这样的饮酒人,他经常光顾供应他喜欢的啤酒的酒吧间.2、找出不提供青岛啤酒的酒吧.3、找出这样的饮酒人,不去提
请用关系代数表示下列查询语句
F(drinker,bar) S (bar,beer) L (drinker,beer)
1、找出这样的饮酒人,他经常光顾供应他喜欢的啤酒的酒吧间.
2、找出不提供青岛啤酒的酒吧.
3、找出这样的饮酒人,不去提供雪花啤酒的酒吧的.
4、找出这样的饮酒人,他和另一个喜欢‘青岛’啤酒的人在同一酒吧.
请用关系代数表示下列查询语句F(drinker,bar) S (bar,beer) L (drinker,beer)1、找出这样的饮酒人,他经常光顾供应他喜欢的啤酒的酒吧间.2、找出不提供青岛啤酒的酒吧.3、找出这样的饮酒人,不去提
1
select c.bar,a.drinker,c.beer from f as a,s as b,l as c where b.bar=a.bar and a.drinker=c.drinker group by c.bar,a.drinker,c.beer having max(count(*))
[原理,将三个关系表联系起来,分组统计出酒吧,人,啤酒的统计信息,在找出最大行数的列]
2
select bar from s where not beer='青岛啤酒'
3
select drinker from f where drinker not in (select a.drinker from f as a,s as b where a.bar=b.bar and b.beer='雪花啤酒')
[原理:查询出去了提供雪花啤酒的酒家的人,再not in排除掉]
4
select a.drinker,a.bar from f as a,s as b where a.bar=b.bar where b.beer='青岛啤酒' group by a.drinker,a.bar having Count(*)>1