รู้จักกับ Common Table Expressions หรือ CTEs

บทความโดย: 9Expert Team

รู้จักกับ Common Table Expressions หรือ CTEs

9Expert Team 1 นาที

Common Table Expressions หรือ CTEs ถูกกล่าวถึงในมาตรฐาน ANSI ปี 1999 โดย Hierarchical queries สำหรับ Microsoft SQL Server นั้นจะเรียกว่า CTE ส่วนใน Oracle จะเรียกว่า Recursive Subquery Factoring ซึ่งอาจมี Syntax ที่ต่างกันออกไปบ้างในแต่ละผลิตภัณฑ์

CTE เป็น Named Expression ที่ช่วยให้สามารถอ้างอิงผลลัพธ์ของ subquery ซ้ำได้ภายใน query เดียว ทำให้โค้ดอ่านง่ายและดูแลรักษาได้ง่ายขึ้น โดยเฉพาะในกรณีที่ต้องการเขียน Recursive Query เพื่อดึงข้อมูลแบบ Hierarchical

ประเภทของ Table Expressions

  • Derived Table — Subquery ที่ใช้ใน FROM clause

  • Views — Named query ที่เก็บในฐานข้อมูล

  • Table-Valued Functions — Function ที่ return เป็น Table

  • Common Table Expressions (CTEs) — Named temporary result set ที่ใช้ใน query เดียว