SQL Self Join


Self Join จะเป็นการ Join แบบทั่วไป แต่ตารางจะเป็นการ join กันเองภายในตารางเดียวกันจะใช้เมื่อต้องการเปรียบเทียบข้อมูลของคอลัมน์เดียวกันในตารางเดียวกัน เเต่เนื่องจากเป็นการใช้ข้อมูลภายในตารางเดียวกัน จึงต้องใช้นามแฝง หรือ Aliases Name เข้ามาช่วย เพื่อความถูกต้องในการดึงข้อมูล

SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;

T1 และ T2 เป็นนามแฝงหรือ alias ที่ชื่อไม่เหมือนกัน ซึ่งมาจากตารางเดียวกัน


ตัวอย่างการใช้ SQL Self Join

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;