สร้างตัวอักษรด้วย recursive CTE
แบบฝึกหัดนี้มีเป้าหมายให้สร้างตัวอักษรภาษาอังกฤษโดยใช้ recursive CTE
ในการแก้โจทย์นี้ ต้องทราบว่าตัวอักษรตั้งแต่ A ถึง Z สามารถแทนได้ด้วยตัวเลขตั้งแต่ 65 ถึง 90 โดย A แทนด้วย 65 และ C แทนด้วย 67 ใช้ฟังก์ชัน char(number) เพื่อแปลงตัวเลขเป็นตัวอักษรที่ตรงกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Hierarchical and Recursive Queries in SQL Server
คำแนะนำการฝึกหัด
- กำหนดค่าเริ่มต้นของ
number_of_letterเป็นตัวเลขที่แทนตัวอักษรA - เพิ่มค่า
number_of_letterทีละ 1 ในแต่ละขั้นตอน และกำหนดขีดจำกัดไว้ที่90ซึ่งเป็นค่าของZ - เลือก recursive member จาก CTE ที่กำหนดไว้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
WITH alphabet AS (
SELECT
-- Initialize letter to A
___ AS number_of_letter
-- Statement to combine the anchor and the recursive query
UNION ALL
SELECT
-- Add 1 each iteration
___ + ___
-- Select from the defined CTE alphabet
FROM ___
-- Limit the alphabet to A-Z
WHERE ___ < ___)
SELECT char(number_of_letter)
FROM alphabet;