การ Join ใน SQL
SQL joins คือการรวมข้อมูลจากสองตารางหรือมากกว่า โดยใช้คอลัมน์ที่มีความสัมพันธ์กันในการเชื่อมโยง ซึ่งช่วยให้คุณสามารถดูข้อมูลที่ถูกจัดเก็บไว้ในที่ต่างกันได้
นี่คือประเภทของการ Join หลักๆ:
INNER JOIN จะคืนค่าเฉพาะแถวที่มีค่าตรงกันในทั้งสองตารางเท่านั้น หากแถวในตารางหนึ่งไม่มีค่าที่ตรงกับอีกตารางหนึ่ง แถวนั้นจะไม่ถูกนำมาแสดง
LEFT JOIN จะคืนค่าแถวทั้งหมดจากตารางทางซ้าย และคืนค่าแถวที่ตรงกันจากตารางทางขวาด้วย หากไม่มีค่าที่ตรงกัน ฝั่งขวาจะแสดงค่าเป็น NULL
RIGHT JOIN จะคืนค่าแถวทั้งหมดจากตารางทางขวา และคืนค่าแถวที่ตรงกันจากตารางทางซ้ายด้วย หากไม่มีค่าที่ตรงกัน ฝั่งซ้ายจะแสดงค่าเป็น NULL
FULL OUTER JOIN จะคืนค่าแถวทั้งหมดเมื่อมีค่าที่ตรงกันในตารางใดตารางหนึ่ง โดยจะแสดงข้อมูลทั้งหมดจากทั้งสองฝั่ง ส่วนแถวที่ไม่ตรงกันจะแสดงค่าเป็น NULL
CROSS JOIN จะสร้างการจับคู่ของทุกแถวจากตารางแรกกับทุกแถวจากตารางที่สอง ตัวอย่างเช่น หากคุณมีพนักงาน 4 คน และแผนก 4 แผนก คุณจะได้ผลลัพธ์ทั้งหมด 16 แถว
SELF JOIN คือการ Join ตารางเข้ากับตัวมันเอง มักใช้เพื่อเปรียบเทียบแถวภายในตารางเดียวกัน ตัวอย่างเช่น การเชื่อมโยงข้อมูลพนักงานกับผู้จัดการของเขาในตารางเดียวกัน
คู่มือสรุป:
• INNER JOIN: เฉพาะแถวที่มีค่าตรงกันเท่านั้น • LEFT JOIN: แถวทั้งหมดจากตารางซ้ายรวมกับแถวที่ตรงกัน • RIGHT JOIN: แถวทั้งหมดจากตารางขวารวมกับแถวที่ตรงกัน • FULL OUTER JOIN: แถวทั้งหมดจากทั้งสองตาราง • CROSS JOIN: ทุกการจับคู่ที่เป็นไปได้ • SELF JOIN: การ Join ตารางเข้ากับตัวเอง