Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

นามแฝง SQL:คู่มือฉบับสมบูรณ์

นามแฝง 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 ออนไลน์ที่เป็นประโยชน์