從 Vienna 出發的所有航線
先前你已經查看過航班資料的結構,並從 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;