비엔나에서 출발하는 모든 항공편 경로
이전에 항공편 데이터의 구조를 살펴보았고, flightPlan 테이블에서 필요한 필드를 이미 확인했어요. 이 필드들은 이번 연습 문제에서 앵커 쿼리와 재귀 쿼리에 사용됩니다.
이 연습 문제의 목표는 다음 조건을 만족하는 재귀 쿼리를 작성하는 것입니다:
Vienna에서 출발하는 가능한 모든 항공편을 찾고travel cost가500유로 미만이며- 경유지(
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;