1

通常我们使用表和模式进行查询,但在我的情况下,我只能使用实体关系图来查询一张 MYSQL 格式的纸。

这些确实使事情变得复杂。我需要你的帮助,例如这个问题。

问题:

笔记:

4

1 回答 1

1

根据上面的数据,INNER JOINs 会写成这样:

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

请注意,葡萄酒和龋齿之间的关系图显示了从 0 到多 (1..1 - 0..*)。另请注意,wine_id 未列在进位表列列表中,但通过关系隐含。

接下来你想知道今天的价格(提示:因为表进位表有price_start_dateprice_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'

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

于 2016-06-11T06:36:36.937 回答