นามแฝงตาราง SQL

Namfaeng Tarang Sql



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

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

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







นามแฝงตาราง SQL

ใน SQL นามแฝงของตารางหมายถึงชื่อชั่วคราวที่กำหนดให้กับตารางหรือคอลัมน์ตารางที่กำหนดตลอดช่วงอายุของการสืบค้น SQL



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



ใน SQL เราสามารถกำหนดนามแฝงของตารางได้โดยใช้คีย์เวิร์ด AS ดังที่แสดงในไวยากรณ์ตัวอย่างต่อไปนี้:





เลือกคอลัมน์ 1, คอลัมน์ 2, ...
จาก table_name AS ชื่อนามแฝง
สภาพที่ไหน;

ในกรณีนี้ เราใช้คำสำคัญ AS ตามด้วยชื่ออื่นที่เราต้องการตั้งให้กับตารางเป้าหมาย

การใช้นามแฝงตาราง SQL

นามแฝงของตารางมีการใช้งานหลายกรณีใน SQL บางกรณีมีดังต่อไปนี้:



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

ตัวอย่าง:

ให้เราสำรวจตัวอย่างและการใช้งานต่างๆ ของคอลัมน์ตาราง SQL ดังที่แสดงไว้ในส่วนถัดไปของบทช่วยสอนนี้

ตัวอย่างที่ 1: การใช้งานพื้นฐาน

สมมติว่าเรามีฐานข้อมูลที่มีสองตาราง หนึ่งคือตาราง “พนักงาน” และอีกตารางหนึ่งคือตาราง “แผนก” เราต้องการดึงรายชื่อพนักงานที่ติดต่อกับแผนกของตน เราสามารถใช้นามแฝงของตารางดังแสดงในตัวอย่างต่อไปนี้:

เลือก e.employee_name, d.department_name
จากพนักงาน AS e
เข้าร่วมแผนก AS d ON e.department_id = d.department_id;

ในกรณีนี้ เรากำลังใช้นามแฝงของตารางเพื่อกำหนดนามแฝง “e” และ “d” ให้กับตาราง “พนักงาน” และ “แผนก” ตามลำดับ

ซึ่งจะทำให้คิวรีอ่านง่ายขึ้นและเข้าถึงได้ง่ายขึ้น แม้ว่าจะฝังอยู่ในคำสั่ง SQL ที่ซับซ้อนก็ตาม

ตัวอย่างที่ 2: การทำงานกับการเข้าร่วมด้วยตนเอง

ดังที่เราได้กล่าวไปแล้ว นามแฝงของตารางมีประโยชน์เมื่อคุณต้องการเข้าร่วมด้วยตนเอง ให้เรานำตัวอย่างฐานข้อมูลสากีลา สมมติว่าเราต้องการค้นหานักแสดงที่ปรากฏในภาพยนตร์เรื่องเดียวกัน

เราสามารถใช้นามแฝงของตารางตามที่แสดงในแบบสอบถามตัวอย่างต่อไปนี้:

เลือก a1.actor_id ในฐานะนักแสดง1_id, a1.first_name ในฐานะนักแสดง1_first_name, a1.last_name ในฐานะนักแสดง1_last_name,
a2.actor_id ในฐานะนักแสดง2_id, a2.first_name ในฐานะนักแสดง2_first_name, a2.last_name ในฐานะนักแสดง2_last_name
จากนักแสดง AS a1
เข้าร่วมนักแสดง AS a2 บน a1.actor_id  a2.actor_id;

ในตัวอย่างนี้ เราใช้นามแฝงตาราง 'a1' และ 'a2' สำหรับตาราง 'actor' เพื่อแยกความแตกต่างระหว่างสองอินสแตนซ์ของตารางเดียวกัน

หมายเหตุ: เพื่อให้แน่ใจว่าเราไม่จับคู่นักแสดงกับตัวเอง เราจะแนะนำส่วนคำสั่ง ON และเงื่อนไขในการตรวจสอบรหัสนักแสดงคนเดียวกัน

สิ่งนี้ควรดำเนินการรวมตัวเองบนตารางและส่งกลับ 10 แถวแรกที่ตรงกันดังที่แสดงในเอาต์พุตตัวอย่างต่อไปนี้:

ตัวอย่างที่ 3: การใช้นามแฝงของตารางกับแบบสอบถามย่อย SQL

สุดท้ายนี้ ให้เราดูตัวอย่างการใช้นามแฝงของตารางภายในแบบสอบถามย่อยของ SQL

สมมติว่าเราต้องการค้นหานักแสดงที่ปรากฏในภาพยนตร์เรื่องเดียวกันกับนักแสดงคนใดคนหนึ่งโดยเฉพาะ เราสามารถใช้แบบสอบถามย่อยร่วมกับนามแฝงของตารางเพื่อทำสิ่งนี้ให้สำเร็จดังนี้:

เลือกความแตกต่าง a.actor_id, a.first_name, a.last_name
จากนักแสดง AS a
เข้าร่วม film_actor AS fa1 บน a.actor_id = fa1.actor_id
เข้าร่วม film_actor AS fa2 บน fa1.film_id = fa2.film_id
โดยที่ a.actor_id <> 1 จำกัด 10;

สิ่งนี้ควรส่งคืนนักแสดงทุกคนที่ปรากฏในภาพยนตร์เรื่องเดียวกันกับนักแสดงที่ระบุ คุณจะสังเกตเห็นการใช้นามแฝงของตารางอย่างกว้างขวางเพื่อการใช้งานสืบค้นสูงสุดและมีประสิทธิภาพ

บทสรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้ทุกสิ่งที่ควรรู้เกี่ยวกับนามแฝงของตารางใน SQL คุณยังสามารถดูบทช่วยสอนของเราเกี่ยวกับชื่อแทนคอลัมน์ใน MySQL สำหรับข้อมูลโดยละเอียดเพิ่มเติม