อธิบายคีย์เวิร์ด AS ของ MySQL: วิธีใช้ Alias สำหรับคอลัมน์และตาราง

目次

1. บทนำ

คีย์เวิร์ด AS ของ MySQL ใช้เพื่อกำหนดนามแฝง (ชื่อทางเลือก) ให้กับตารางและคอลัมน์ภายในคำสั่ง query.
คุณลักษณะนี้ไม่เพียงทำให้การอ่านคำสั่ง SQL ง่ายขึ้นเท่านั้น แต่ยังช่วยแสดงคำสั่งที่ซับซ้อนให้กระชับยิ่งขึ้น.

ในบทความนี้ เราจะอธิบายทุกอย่างตั้งแต่การใช้ AS เบื้องต้นจนถึงตัวอย่างการใช้งานจริงและข้อควรพิจารณาที่สำคัญ.
เพื่อให้ผู้เริ่มต้นเข้าใจแนวคิดได้ง่าย เราจะใส่ตัวอย่างโค้ดที่ชัดเจนและเป็นรูปธรรมตลอดทั้งบทความ.

2. การใช้คีย์เวิร์ด “AS” เบื้องต้น

2.1. การกำหนดนามแฝงให้กับคอลัมน์

ใน MySQL คุณสามารถกำหนดนามแฝงให้กับคอลัมน์เพื่อใช้ชื่อคอลัมน์ที่อธิบายได้ชัดเจนหรืออ่านง่ายขึ้น.
ไวยากรณ์พื้นฐานมีดังต่อไปนี้:

SELECT column_name AS alias_name FROM table_name;

ตัวอย่าง

เช่น หากคุณต้องการต่อข้อความ first_name และ last_name จากตาราง users และกำหนดนามแฝงเป็น full_name:

SELECT first_name, last_name, CONCAT(first_name, ' ', last_name) AS full_name FROM users;

เมื่อคุณรันคำสั่ง SQL นี้ จะสร้างคอลัมน์ชื่อ full_name ขึ้นมา ซึ่งจะแสดงค่าที่รวมกันของ first_name และ last_name.

2.2. การกำหนดนามแฝงให้กับตาราง

คุณยังสามารถกำหนดนามแฝงให้กับตารางได้เช่นกัน.
สิ่งนี้ทำให้คุณสามารถย่อชื่อของตารางที่ยาวและทำให้การอ่านคำสั่งที่ซับซ้อนง่ายขึ้น.

ไวยากรณ์พื้นฐานมีดังต่อไปนี้:

SELECT t1.column_name FROM table_name AS t1;

ตัวอย่าง

เช่น การกำหนดนามแฝง e ให้กับตาราง employees:

SELECT e.id, e.name FROM employees AS e;

โดยใช้วิธีนี้ คุณสามารถเขียนคำสั่ง SQL ได้กระชับยิ่งขึ้นโดยใช้ e แทน employees.

3. ทำไมต้องใช้คีย์เวิร์ด “AS”?

3.1. การปรับปรุงความอ่านง่ายของคำสั่ง

การใช้ AS ทำให้คำสั่งอ่านและเข้าใจได้โดยธรรมชาติง่ายขึ้น.
โดยเฉพาะอย่างยิ่งเมื่อชื่อคอลัมน์ยาวหรือเมื่อจัดการผลลัพธ์ที่คำนวณได้เป็นคอลัมน์.

3.2. การหลีกเลี่ยงความคลุมเครือเมื่อ JOIN หลายตาราง

เมื่อใช้ JOIN หากมีชื่อคอลัมน์เดียวกันในหลายตาราง อาจเกิดความคลุมเครือ.
ในกรณีเช่นนี้ การกำหนดนามแฝงให้กับตารางช่วยป้องกันความสับสน.

SELECT e.name, d.department_name FROM employees AS e JOIN departments AS d ON e.department_id = d.id;

ในคำสั่งนี้ ตาราง employees ถูกย่อเป็น e และตาราง departments ถูกย่อเป็น d ทำให้คำสั่งอ่านง่ายขึ้น.

3.3. การกำหนดนามแฝงให้กับคอลัมน์ที่คำนวณหรือผลลัพธ์ของฟังก์ชัน

โดยการกำหนดนามแฝงให้กับผลลัพธ์การคำนวณหรือผลลัพธ์ของฟังก์ชันใน SQL คุณจะได้ผลลัพธ์ที่ชัดเจนและเข้าใจง่ายขึ้น.

SELECT price * quantity AS total_cost FROM orders;

ในคำสั่งนี้ ผลลัพธ์ของ price * quantity ถูกตั้งชื่ออธิบายว่า total_cost.

4. ตัวอย่างการใช้งานจริง

4.1. การใช้ “AS” ในการ JOIN หลายตาราง

เมื่อทำการ JOIN ตารางต่าง ๆ การกำหนดนามแฝงช่วยย่อและทำให้คำสั่งง่ายขึ้น.

SELECT u.id, u.name, o.order_date 
FROM users AS u 
JOIN orders AS o ON u.id = o.user_id;

ในตัวอย่างนี้ ตาราง users ถูกกำหนดเป็น u และตาราง orders ถูกกำหนดเป็น o ทำให้ไม่ต้องอธิบายซ้ำซ้อน.

4.2. การกำหนดนามแฝงให้กับผลลัพธ์ที่คำนวณ

เมื่อคำนวณยอดรวม การกำหนดนามแฝงทำให้ผลลัพธ์อ่านง่ายขึ้น.

SELECT product_name, price * quantity AS total_price FROM sales;

ผลลัพธ์คือคอลัมน์ total_price จะมีค่าที่คำนวณจาก price * quantity.

5. หมายเหตุสำคัญ

5.1. “AS” เป็นทางเลือก แต่แนะนำให้ใช้อย่างชัดเจน

ใน MySQL สามารถละเว้น AS ได้ แต่เพื่อความอ่านง่ายและการบำรุงรักษาที่ดีขึ้น แนะนำให้เขียนอย่างชัดเจน.

SELECT first_name full_name FROM users;  -- AS can be omitted
SELECT first_name AS full_name FROM users;  -- Recommended

5.2. การใช้คีย์เวิร์ดที่สงวนไว้เป็นนามแฝง

หากคุณใช้คีย์เวิร์ดที่สงวนไว้ของ SQL เป็นนามแฝง คุณต้องใส่ไว้ใน backticks.

SELECT column_name AS `key` FROM table_name;

6. คำถามที่พบบ่อย (FAQ)

คำถามที่ 1: สามารถละ “AS” ได้หรือไม่?

คำตอบที่ 1: ใช่ สามารถละได้ อย่างไรก็ตาม เพื่อความอ่านง่ายที่ดียิ่งขึ้น แนะนำให้ใช้อย่างชัดเจน

คำถามที่ 2: สามารถกำหนดชื่อแทน (alias) เดียวกันให้กับทั้งตารางและคอลัมน์ได้หรือไม่?

คำตอบที่ 2: เพื่อหลีกเลี่ยงความสับสน ควรใช้ชื่อแทนที่แตกต่างกันสำหรับตารางและคอลัมน์

คำถามที่ 3: ชื่อแทนสามารถมีช่องว่างได้หรือไม่?

คำตอบที่ 3: ใช่ เป็นไปได้ แต่ต้องล้อมด้วยเครื่องหมายคำพูดคู่ "" หรือ backticks

SELECT column_name AS "My Custom Name" FROM table_name;

คำถามที่ 4: สามารถใช้ “AS” เพื่อสร้างตารางชั่วคราวได้หรือไม่?

คำตอบที่ 4: คำสำคัญ AS เองไม่ได้ใช้อย่างอิสระเพื่อสร้างตารางชั่วคราว
เพื่อสร้างตารางชั่วคราว ให้ใช้ CREATE TEMPORARY TABLE

CREATE TEMPORARY TABLE temp_table AS SELECT * FROM original_table;

คำถามที่ 5: สามารถใช้ “AS” เพื่อสร้างมุมมอง (view) ได้หรือไม่?

คำตอบที่ 5: ใช่ เมื่อสร้างมุมมอง สามารถใช้ AS เพื่อกำหนดคำสั่งค้นหาของมุมมอง

CREATE VIEW sales_summary AS 
SELECT product_name, SUM(price * quantity) AS total_sales FROM sales GROUP BY product_name;

7. สรุป

ในบทความนี้ เราอธิบายคำสำคัญ AS ของ MySQL อย่างละเอียด
ประเด็นสำคัญมีดังนี้:

  • การใช้ AS ช่วยให้สามารถกำหนดชื่อแทนที่ชัดเจนและอธิบายได้สำหรับคอลัมน์และตาราง
  • ช่วยปรับปรุงความอ่านง่ายของคำสั่งค้นหา และทำให้ SQL เข้าใจง่ายขึ้น
  • เมื่อใช้คำสำคัญที่สงวนไว้เป็นชื่อแทน ต้องล้อมด้วย backticks

คำสำคัญ AS เป็นคุณสมบัติที่มีประโยชน์อย่างยิ่งเมื่อทำงานกับ MySQL
ใช้มันอย่างมีประสิทธิภาพเพื่อเขียนคำสั่ง SQL ที่สะอาด มีประสิทธิภาพ และอ่านง่าย!