开始使用免费开始使用

从维也纳出发的所有航线

在之前的练习中,您已经了解了航班数据的结构,并从 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;
编辑并运行代码