시작하기무료로 시작하기

비엔나에서 출발하는 모든 항공편 경로

이전에 항공편 데이터의 구조를 살펴보았고, flightPlan 테이블에서 필요한 필드를 이미 확인했어요. 이 필드들은 이번 연습 문제에서 앵커 쿼리와 재귀 쿼리에 사용됩니다.

이 연습 문제의 목표는 다음 조건을 만족하는 재귀 쿼리를 작성하는 것입니다:

  • Vienna에서 출발하는 가능한 모든 항공편을 찾고
  • travel cost500유로 미만이며
  • 경유지(stops)가 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;
코드 편집 및 실행