从维也纳出发的所有航线
在之前的练习中,您已经了解了航班数据的结构,并从 flightPlan 表中找出了所需字段。接下来将在本练习中将这些字段分别用于锚点查询和递归查询。
本练习的目标是把这些知识结合起来,编写一个递归查询,用于:
- 获取从
Vienna出发的所有可能航班; travel cost低于500欧元;- 中转次数少于
5次。
输出仅包含目的地及其对应费用。
本练习是课程的一部分
SQL Server 中的分层与递归查询
交互式实操练习
通过完成这段示例代码来试试这个练习。
WITH flight_route (Departure, Arrival, stops) AS(
SELECT
f.Departure, f.Arrival,
-- Initialize the number of stops
___
FROM flightPlan f
WHERE Departure = 'Vienna'
UNION ALL
SELECT
p.Departure, f.Arrival,
-- Increment the number of stops
p.stops + ___
FROM flightPlan f, flight_route p
-- Limit the number of stops
WHERE p.Arrival = f.Departure AND
p.stops < ___)
SELECT
DISTINCT Arrival,
Departure,
stops
FROM flight_route;