StepCoding

การกำหนดชื่อ Alias ให้กับ field ที่แสดงผล

อ่าน [1294] หมวดหมู่: คำสั่ง SELECT เบื้องต้น

ชื่อ field ที่จะถูกแสดงผลนั้น โดย default แล้วมันจะเอาชื่อของ field นั้น ๆ หรือเอา expression นั้น ๆ มาแสดงแทน แต่เราสามารถกำหนดชื่อ alias ให้กับ field ที่เราเลือกต่าง ๆ เหลานี้ได้ ผมจะยกตัวอย่างการไม่กำหนด alias ให้กับ field ที่เราต้องการให้แสดงผล (แบบ expression)

# แบบที่ไม่กำหนด alias ให้กับ field
SELECT 1, 4*3;
14*3
112
# วิธีที่กำหนด alias
SELECT 1 As One, 4*3 'Four Times Three';
OneFour Times Three
112

จะเห็นว่าชื่อ field นั้นจะแสดงผลตามที่เรากำหนด alias ให้กับมัน บางคนอาจจะสงสัยว่าฟิลด์แรกทำไมถึงต้องมี "As" ในการกำหนดด้วย แต่ฟิลด์ที่สองกลับไม่มี แล้วมีหลักการในการใช้งานอย่างไรหรือเปล่า... ผมขอตอบว่า "สามารถใช้ได้ทั้งสองวิธีครับ" จากตัวอย่างผมจะทำให้ผู้อ่านเห็นว่าเราสามารถกำหนด alias ได้ทั้งสองแบบนั่นเอง แต่ในเรื่องกฏของการกำหนด alias นั้นมีเพียงนิดเดียวเท่านั้น ดังนี้ครับ

  • keyword AS นั้นเป็น optional ซึ่งหมายความว่าจะใส่หรือไม่ใส่ก็ได้
  • alias อาจจะถูกครอบด้วย quoted หรือไม่ก็ได้ แต่ในกรณีที่ alias เป็นหลาย ๆ คำ (มีช่องว่าง) เราจำเป็นต้องครอบมันด้วย quoted
  • เราสามารถอ้างอิง alias นี้ที่ไหนก็ได้ ภายในคำสั่งนั้น ๆ ไม่ว่าจะเป็นในส่วนของ GROUP BY, HAVING หรือ ORDER BY แต่เราไม่สามารถอ้างอิงมันในส่วนของ WHERE ได้

ผู้สนับสนุน