如何在Oracle中联接所有这5个表并仅返回1行?

我正在上第一门SQL课,而我的教授并没有以任何人都能理解的方式来解释事情。我们使用的是Phil Pratt和Mary Last,第5章的 SQL指南,第9版。我们得到的唯一帮助是连接所有5个表,并且所有5个表都是必需的。有人告诉我们,可能需要“内部”联接和“交叉”运算符,但她没有解释完成大多数操作的为什么何时的逻辑。非常令人沮丧。我想学得不好。

问题

Laura Jones希望确认她相信即将在2016年6月15日进行的下次旅行。您的记录显示Laura Jones的客户号码为“ 112”。要准备将要传递给琼斯女士的信息,请生成查询,该查询列出客户的姓氏和名字,行程名称,行程日期以及指南的姓氏和名字,编号为“ 112”。注意:由于客户编号的数据类型为CHAR(4),它是最多4个字符的字符串,因此必须在单引号中包含“ 112”。

avafavaf 回答:如何在Oracle中联接所有这5个表并仅返回1行?

您不需要intersect,只需要一系列inner join

请考虑以下查询,该查询遵循在模式中定义的关系并在where子句中根据搜索条件进行过滤:

select
    c.first_name customer_first_name,c.last_name customer_last_name,t.trip_name,r.trip_date,g.first_name guide_first_name,g.last_name guide_last_name
from customer c
inner join reservation r on r.customer_num = c.customer_num
inner join trip t on t.trip_id = r.trip_id
inner join trip_guides tg on tg.trip_id = t.trip_id
inner join guide g on g.guide_num = tg.guide_num
where c.customer_num = '112' and r.trip_date = date'2016-06-15'
本文链接:https://www.f2er.com/2920348.html

大家都在问