เส้นทางบินทั้งหมดจากเวียนนา
ก่อนหน้านี้ได้ดูโครงสร้างของข้อมูลเที่ยวบินไปแล้ว และได้ระบุฟิลด์ที่จำเป็นจากตาราง flightPlan เรียบร้อยแล้ว ฟิลด์เหล่านี้จะนำมาใช้ในแบบฝึกหัดนี้สำหรับ anchor query และ recursive query
งานของแบบฝึกหัดนี้คือนำความรู้ที่มีมาสร้าง recursive query ที่:
- ดึงเส้นทางบินทั้งหมดที่ออกเดินทางจาก
Vienna - มี
travel costต่ำกว่า500ยูโร - มีจุดแวะพักน้อยกว่า
5จุด
ให้แสดงผลเฉพาะปลายทางและค่าใช้จ่ายที่เกี่ยวข้องเท่านั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Hierarchical and Recursive Queries in 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;