始める無料で始める

ウィーン発のすべてのフライトルート

これまでに、フライトデータの構造を確認し、flightPlan テーブルから必要なフィールドを特定しました。今回の演習では、それらをアンカー部と再帰部のクエリで使用します。

この演習のゴールは、次の条件を満たす再帰クエリを作成することです。

  • Vienna 発の可能なすべてのフライトを取得する
  • travel cost500 ユーロ未満である
  • 乗り継ぎ回数が 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;
コードを編集して実行