การใช้งาน SQL JOINs ในฐานข้อมูลเป็นเครื่องมือที่มีความสำคัญอย่างยิ่งในการรวมข้อมูลจากตารางต่าง ๆ เพื่อเป็นการวิเคราะห์และสร้างรายงานได้ตามความต้องการของเรา บทความนี้จะพาท่านไปทำความรู้จักกับ 5 SQL JOINs ที่พบได้บ่อย พร้อมตัวอย่างโค้ดและการใช้งานเพื่อให้เห็นภาพชัดเจนมากยิ่งขึ้น
1. INNER JOIN
INNER JOIN นั้นถือเป็นประเภท JOIN ที่พบบ่อยที่สุด โดยจะส่งคืนเฉพาะเรคคอร์ดที่มีคีย์ที่ตรงกันในทั้งสองตารางที่ทำการ JOIN
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
ในตัวอย่างนี้ การ JOIN ระหว่างตาราง Orders และ Customers ด้วย CustomerID จะทำให้เราได้เฉพาะคำสั่งซื้อที่มีลูกค้าที่ตรงกันในทั้งสองตาราง
2. LEFT (OUTER) JOIN
LEFT JOIN จะรวมเรคคอร์ดทั้งหมดจากตารางด้านซ้าย และเรคคอร์ดที่ตรงกันจากตารางด้านขวา หากไม่มีเรคคอร์ดที่ตรงกันในตารางด้านขวา จะแสดงผลเป็น NULL ในส่วนของตารางด้านขวา
SELECT Employees.Name, Orders.OrderID
FROM Employees
LEFT JOIN Orders ON Employees.ID = Orders.EmployeeID;
ตัวอย่างโค้ดด้านบนจะแสดงชื่อพนักงานและคำสั่งซื้อของพวกเขา แม้ว่าบางพนักงานอาจจะไม่มีคำสั่งซื้อก็ตาม
3. RIGHT (OUTER) JOIN
RIGHT JOIN ทำงานตรงกันข้ามกับ LEFT JOIN โดยจะรวมเรคคอร์ดทั้งหมดจากตารางด้านขวาและเรคคอร์ดที่ตรงกันจากตารางด้านซ้าย สำหรับเรคคอร์ดที่ไม่ตรงกันจากตารางด้านซ้ายจะแสดงเป็น NULL
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
RIGHT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
ในกรณีนี้เราจะได้รายชื่อลูกค้าทุกคนและรายละเอียดคำสั่งซื้อของพวกเขา (ถ้ามี)
4. FULL (OUTER) JOIN
FULL OUTER JOIN จะรวมทุกเรคคอร์ดจากทั้งสองตารางและเติม NULL ในเรคคอร์ดที่ไม่ตรงกันของแต่ละตาราง
SELECT Employees.Name, Orders.OrderID
FROM Employees
FULL OUTER JOIN Orders ON Employees.ID = Orders.EmployeeID;
ตัวอย่างนี้จะแสดงรายชื่อพนักงานทั้งหมดและคำสั่งซื้อของพวกเขา โดยไม่ว่าจะมีหรือไม่มีคำสั่งซื้อก็ตาม
5. CROSS JOIN
CROSS JOIN จะเป็นการผลิต Cartesian product ของเรคคอร์ดในทั้งสองตาราง ซึ่งหมายความว่าเรคคอร์ดในตารางแรกจะถูกผูกกับเรคคอร์ดในตารางที่สองทุกเรคคอร์ด
SELECT Customers.CustomerName, Products.ProductName
FROM Customers
CROSS JOIN Products;
สิ่งที่ได้จากโค้ดด้านบนคือผลลัพธ์ที่แสดงชื่อลูกค้าและชื่อผลิตภัณฑ์เป็นคู่ โดยไม่คำนึงว่าคุณจะได้รับการตรงกันหรือไม่
ความรู้เกี่ยวกับ SQL JOINs นี้เป็นเพียงการเริ่มต้นในการสำรวจโลกของการจัดการฐานข้อมูลแบบรวมศูนย์ การจะใช้ตัวเลือกใดก็ต้องอาศัยการวิเคราะห์ตามสถานการณ์และความต้องการของข้อมูลที่ต้องการรายงานหรือวิเคราะห์ ถ้าคุณมีความสนใจในการศึกษาโปรแกรมมิ่งและอยากจะเข้าใจโลกของการจัดการฐานข้อมูลอย่างลึกซึ้งยิ่งขึ้น การศึกษาในสถาบันการศึกษาที่มุ่งเน้นด้านนี้อาจจะช่วยให้คุณก้าวหน้าในเส้นทางอาชีพได้อย่างไม่น่าเชื่อ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: sql joins inner_join left_join right_join full_outer_join cross_join database_management sql_queries
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com