เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เส้นทางบินทั้งหมดจากเวียนนา

ก่อนหน้านี้ได้ดูโครงสร้างของข้อมูลเที่ยวบินไปแล้ว และได้ระบุฟิลด์ที่จำเป็นจากตาราง 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;
แก้ไขและรันโค้ด