นามแฝง SQL เป็นชื่ออ้างอิงสำหรับตารางหรือคอลัมน์ ใช้เพื่อย่อแบบสอบถามของคุณถ้าคุณมีชื่อตารางแบบยาว ทั้งนามแฝงของตารางและคอลัมน์ถูกกำหนดโดยใช้คีย์เวิร์ด AS นามแฝงจะคงอยู่จนกว่าแบบสอบถามจะดำเนินการ นามแฝงไม่ถาวร
คุณเคยเบื่อที่จะเขียนชื่อคอลัมน์หรือตารางยาวๆ ในการสืบค้นที่ซับซ้อนหรือไม่? มันเกิดขึ้นเมื่อคุณเรียนรู้เพิ่มเติมเกี่ยวกับ SQL นี่คือที่ที่นามแฝงเข้ามาช่วยเหลือ นามแฝงจะช่วยให้คุณย่อคำค้นหาของคุณให้สั้นลง
ในคู่มือนี้ เราจะพูดถึงว่านามแฝงของ SQL คืออะไรและเหตุใดจึงใช้ชื่อแทนเหล่านี้ เราอธิบายสองสถานการณ์ของนามแฝงที่ใช้งานจริงเพื่อช่วยให้คุณเข้าใจวิธีใช้นามแฝงของ SQL เริ่มกันเลย!
หมายเหตุ:บทแนะนำนี้เขียนโดยใช้ PostgreSQL
นามแฝงของ SQL คืออะไร
นามแฝง SQL เปรียบเสมือนมนุษย์นามแฝงของมนุษย์ นามแฝง SQL กำหนดชื่อตัวแทนให้กับตารางหรือคอลัมน์ในตาราง นามแฝงมีประโยชน์เพราะช่วยให้ข้อความค้นหาและผลลัพธ์อ่านง่ายขึ้นและตีความได้ง่ายขึ้น
นามแฝงที่ดีคือชื่อที่เข้าใจได้โดยเร็วที่สุด
นามแฝง n จะสับสนในการอธิบายคอลัมน์ชื่อ name หากมีคอลัมน์ชื่อ number_of_products ทั้งสองขึ้นต้นด้วยตัวอักษร n .
fn อาจจะเหมาะสมกว่าเพราะใช้อักษรตัวแรกของแต่ละคำใน ชื่อเต็ม . นามแฝงนี้มีโอกาสน้อยที่จะทำให้เกิดความสับสน
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
จำไว้ว่าอาจมีคนอื่นใช้แบบสอบถาม SQL ของคุณ ไม่ใช่แค่ตัวคุณเอง คุณควรพยายามอย่างเต็มที่เพื่อให้การสืบค้นของคุณเข้าใจง่ายที่สุดสำหรับผู้อ่านทุกคน
SQL Aliases:คอลัมน์
คุณใช้นามแฝงกับชื่อคอลัมน์ นามแฝงชื่อคอลัมน์ช่วยให้คุณเปลี่ยนชื่อของคอลัมน์ในผลลัพธ์ของแบบสอบถาม
ลองดูตารางสองตารางในฐานข้อมูลตัวอย่างของเรา ฐานข้อมูลเหล่านี้เรียกว่า พนักงาน และ สาขา .
พนักงาน | | สาขา | ||||
ชื่อ | หัวเรื่อง | branch_id | เงินเดือน | | branch_id | branch_name |
เจฟฟ์ | พนักงานขายอาวุโส | 1 | 38000 | | 1 | ซานฟรานซิสโก |
อดัม | พนักงานขายอาวุโส | 2 | 38000 | | 2 | เคมบริดจ์ |
เอ็มม่า | นักการตลาด | 2 | 50000 | | 3 | ลอสแองเจลิส |
ลุค | ผู้ช่วยการตลาด | 3 | 32000 | | | |
ตารางพนักงานมีสี่คอลัมน์และสี่แถว ตารางสาขามีสองคอลัมน์และสามแถว
มาเขียนคำสั่ง SQL SELECT ที่บอกเราว่าเงินเดือนสูงสุดที่ได้รับในแต่ละสาขา:
SELECT branches.branch_name, MAX(employees.salary) FROM employees LEFT JOIN branches ON employees.branch_id = branches.branch_id GROUP BY branches.branch_name;
เราใช้ฟังก์ชันการรวม MAX() SQL เพื่อเลือกค่าสูงสุดในคอลัมน์ "เงินเดือน" ของตาราง "พนักงาน" เราใช้คำสั่ง SQLLEFT JOIN เพื่อเชื่อมต่อตาราง "สาขา" และ "พนักงาน" เข้าด้วยกัน ทำให้เราเห็นการกลับมาของแต่ละสาขา
มาดูกันว่าการสืบค้นของเราส่งคืนอะไร:
branch_name | สูงสุด |
ซานฟรานซิสโก | 38000 |
ลอสแองเจลิส | 32000 |
เคมบริดจ์ | 50000 |
แบบสอบถามของเราทำงาน ชื่อหัวข้อของข้อความค้นหาของเรานั้นไม่เข้าใจง่ายนัก สำหรับผู้ที่ไม่ได้เขียนสิ่งนี้ แบบสอบถาม “max” อาจทำให้สับสน
เราแก้ปัญหานี้โดยการระบุชื่อนามแฝงของคอลัมน์:
SELECT branches.branch_name AS "Branch Name", MAX(employees.salary) as "Highest Salary" FROM employees LEFT JOIN branches ON employees.branch_id = branches.branch_id GROUP BY branches.branch_name;
เราระบุสองนามแฝง “branch_name” ได้นามแฝงว่า “Branch Name” ฟังก์ชันการรวม MAX() ของเราได้รับนามแฝงว่า "เงินเดือนสูงสุด" เรียกใช้การสืบค้นของเราอีกครั้ง:
ชื่อสาขา | เงินเดือนสูงสุด |
ซานฟรานซิสโก | 38000 |
ลอสแองเจลิส | 32000 |
เคมบริดจ์ | 50000 |
แถวที่ส่งคืนโดยแบบสอบถามของเราเหมือนกัน ส่วนหัวของตารางเปลี่ยนไป ตอนนี้ “branch_name” คือ “ชื่อสาขา” และ “สูงสุด” คือ “เงินเดือนสูงสุด”
SQL นามแฝง:ตาราง
คุณสามารถกำหนดนามแฝง SQL บนตารางได้ สิ่งนี้มีประโยชน์หากคุณจะอ้างถึงตารางหลายครั้งในแบบสอบถาม เหตุการณ์ดังกล่าวมักเกิดขึ้นในคำค้นหาที่ซับซ้อนมากขึ้น
เมื่อคุณสอบถามหลายตาราง คุณต้องระบุชื่อของแต่ละตารางก่อนชื่อคอลัมน์ ชื่อตารางและคอลัมน์คั่นด้วยจุด (.) สิ่งนี้ทำให้มั่นใจได้ว่า SQL รู้อย่างแน่ชัดว่าแต่ละคำสั่งอ้างอิงถึงตารางใดในการสืบค้นของคุณ
แม้ว่าคุณลักษณะนี้จะปกป้องคุณจากการทำให้การสืบค้นของคุณคลุมเครือ แต่ก็ทำให้อ่านได้ยากขึ้น ดังนั้น คุณควรตรวจสอบให้แน่ใจว่านามแฝงของคุณไม่ยากที่จะเข้าใจ
มาเขียนแบบสอบถามที่ส่งกลับชื่อพนักงานทุกคนพร้อมกับชื่อสาขาที่พวกเขาทำงาน:
SELECT employees.name, branches.branch_name FROM employees LEFT JOIN branches ON employees.branch_id = branches.branch_id;
ข้อความค้นหาของเราส่งคืน:
ชื่อ | branch_name |
เจฟฟ์ | ซานฟรานซิสโก |
อดัม | เคมบริดจ์ |
เอ็มม่า | เคมบริดจ์ |
ลุค | ลอสแองเจลิส |
เราสอบถามสองตาราง:พนักงานและสาขา เราใช้ LEFT JOIN เพื่อเชื่อมค่าของ “branch_id” ในทั้งสองตาราง ซึ่งช่วยให้เราเห็นชื่อของแต่ละสาขาที่เกี่ยวข้องกับพนักงาน
คำถามของเราค่อนข้างยาว เราทำซ้ำคำว่า "พนักงาน" และ "สาขา" สองครั้ง ในการสืบค้นที่ยาวกว่านี้ เราต้องใช้คำเหล่านี้มากขึ้น
เราใช้นามแฝงเพื่อทำให้การสืบค้นของเราสั้นลง เราจำเป็นต้องใช้คีย์เวิร์ด AS เพื่อสร้างชื่อตารางเป็นนามแฝงในการสืบค้น SQL:
SELECT e.name, b.branch_name FROM employees AS e LEFT JOIN branches AS b ON e.branch_id = b.branch_id;
ข้อความค้นหานี้ส่งคืนผลลัพธ์เดียวกันกับข้อความค้นหาแรกของเรา
เรากำหนดนามแฝงสองชื่อ:
- “พนักงาน” คือ “พวกเขา”
- “สาขา” คือ “br”
ทุกครั้งที่เราอ้างถึง em หรือ br ในแบบสอบถามของเรา SQL จะถือว่าเราหมายถึง "พนักงาน" และ "สาขา" ตามลำดับ นามแฝงตารางของเราช่วยให้เราลดจำนวนการซ้ำซ้อนในคำสั่ง SQL ของเราได้
บทสรุป
นามแฝง SQL เป็นชื่อแทนสำหรับคอลัมน์หรือตาราง นามแฝงเป็นคำค้นหาเฉพาะ ซึ่งหมายความว่านามแฝงในแบบสอบถามหนึ่งไม่สามารถใช้ในแบบสอบถามอื่นโดยไม่ต้องกำหนดนามแฝงใหม่ มีการตั้งค่านามแฝงโดยใช้คีย์เวิร์ด AS
คุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ SQL หรือไม่? ดูคู่มือวิธีการเรียนรู้ SQL ของเรา คู่มือที่ครอบคลุมนี้ครอบคลุมทุกอย่างตั้งแต่หลักสูตรที่คุณควรพิจารณาไปจนถึงแหล่งข้อมูล SQL ออนไลน์ที่เป็นประโยชน์