我有这样的声明:
还有这个:
我该如何将这些内容转换为简单的英语?
这是我的理解范围:
对于第一个,我认为它正在选择存在 f_no1、f_date 和 f_no2 的 p_id 航类 和行程 表已连接。
第二个令人困惑;我知道它在做什么,但我不知道如何将其转换为简单的英语。它很自然地连接旅行、航类和旅客表,然后从结果表中选择商务舱级别的行。然后,从舱位为商务舱的行中,仅选择最终目的地为洛杉矶的行,然后从这些行中选择乘客 ID 和姓名。所以我猜英文翻译应该是“获取前往洛杉矶商务舱乘客的姓名和身份证”,但我不确定。
最佳答案
关系演算
你走在正确的道路上。
- 自由变量:
p_id
(确定您的输出结构) - 有界变量:
f_no1
、f_no2
、f_date
您可以看到有两条线看起来非常相似,但差异很大。每行都将两个关系之间的信息配对,旨在找到满足条件的值。
请注意,两行中的 f_date
和 p_id
变量相同,而 f_no
不同。这表明有两个不同的航类发生在同一天,并且两个航类都有同一位乘客。第一行表示从Rapanui到Papeete的旅程,第二行表示从Papeete到奥克兰的旅程。这两个旅程还必须满足乘坐经济舱的要求。
将这些信息放在一起,此查询询问 p_id
的 p_id
从 Rapnui 到 奥克兰 同一天经帕皮提,两人都乘坐经济舱。
关系代数
你几乎已经有了它。该查询选择乘坐商务舱飞往洛杉矶的所有乘客的 p_id 和 p_name。
关于mysql - 用简单的英语表达关于经济舱乘客、航类和旅行的关系微积分和代数查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22825681/