代码之家  ›  专栏  ›  技术社区  ›  Zeus

仅使用实体关系图查询MYSQL格式[BRAIN CHALLENGE][已关闭]

  •  1
  • Zeus  · 技术社区  · 9 年前

    通常我们使用表和模式进行查询,但在我的例子中,我只能使用实体关系图在一张MYSQL格式的纸上进行查询。

    这些真的让事情变得复杂了。例如这个问题,我需要你的帮助。

    问题:

    NOTE:

    1 回复  |  直到 9 年前
        1
  •  1
  •   Alex    9 年前

    基于上述数据 INNER JOIN s将如下所示:

    SELECT *
    FROM Wines
        INNER JOIN Carry ON Wines.wine_id = Carry.wine_id
    

    请注意,葡萄酒和龋齿之间的关系图显示为0对多(1..1-0..*)。还要注意,wine_id没有列在Carry表的列列表中,而是通过关系暗示出来的。

    接下来,你想知道今天的价格(提示:因为桌子进位表有 price_start_date price_end_date 这意味着价格不是固定的,您需要使用这些字段):

    WHERE price_start_date <= CURDATE() AND CURDATE() <= price_end_date
    

    价格低于15美元:

    WHERE price_start_date <= CURDATE() AND CURDATE() <= price_end_date
        AND price_on_carry < 15
    

    问题1查询如下(您需要添加相关的列名):

    SELECT *
    FROM Wines
        INNER JOIN Carry ON Wines.wine_id = Carry.wine_id
    WHERE price_start_date <= CURDATE() AND CURDATE() <= price_end_date
        AND price_on_carry < 15
        AND Wines.color = 'Red'
    

    注意:英语不是我的第一语言,所以我对“他们是否来自加拿大”感到困惑,特别是如果我们需要包括葡萄酒是否来自加拿大的信息。我认为我们不需要包括这些信息。