
ประเภทของ SQL JOIN
- INNER JOIN: การรวมข้อมูลที่มีค่าตรงกันในทั้งสองตาราง**เอาที่มีทั้งคู่เท่านั้นมาแสดง
โค้ด: เลือกทั้งหมด
SELECT * FROM table1 INNER JOIN table2 ON table1.key = table2.key;
- ใช้เพื่อรวมข้อมูลจากสองตารางโดยเลือกเฉพาะข้อมูลที่มีค่าตรงกันในทั้งสองตารางเท่านั้น
การใช้ INNER JOIN ทำให้ได้ข้อมูลที่ตรงกันในทั้งสองตารางเท่านั้น แถมยังเอาข้อมูลที่ไม่ตรงกันออกไป
- LEFT JOIN: การรวมข้อมูลจากตารางซ้ายทั้งหมดและข้อมูลที่ตรงกันในตารางขวา**เอาซ้ายเป็นหลัก
โค้ด: เลือกทั้งหมด
SELECT * FROM table1 LEFT JOIN table2 ON table1.key = table2.key;
- ใช้เพื่อรวมข้อมูลจากตารางซ้ายทั้งหมด และข้อมูลที่มีค่าตรงกันในตารางขวา
การใช้ LEFT JOIN ทำให้ได้ข้อมูลทั้งหมดจากตารางซ้าย รวมถึงข้อมูลจากตารางขวาที่ตรงกัน แต่ถ้าข้อมูลในตารางซ้ายไม่มีค่าตรงกับตารางขวา ข้อมูลในตารางขวาจะเป็น NULL
- RIGHT JOIN: การรวมข้อมูลจากตารางขวาทั้งหมดและข้อมูลที่ตรงกันในตารางซ้าย**เอาขวาเป็นหลัก
โค้ด: เลือกทั้งหมด
SELECT * FROM table1 RIGHT JOIN table2 ON table1.key = table2.key;
- ใช้เพื่อรวมข้อมูลจากตารางขวาทั้งหมด และข้อมูลที่มีค่าตรงกันในตารางซ้าย
การใช้ RIGHT JOIN ทำให้ได้ข้อมูลทั้งหมดจากตารางขวา รวมถึงข้อมูลจากตารางซ้ายที่ตรงกัน แต่ถ้าข้อมูลในตารางขวาไม่มีค่าตรงกับตารางซ้าย ข้อมูลในตารางซ้ายจะเป็น NULL
- FULL OUTER JOIN: การรวมข้อมูลทั้งหมดจากทั้งสองตาราง**เอาหมดทั้งซ้ายทั้งขวาไม่มีข้อมูลแสดงเป็น Null
โค้ด: เลือกทั้งหมด
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.key = table2.key;
- ใช้เพื่อรวมข้อมูลทั้งหมดจากทั้งสองตาราง รวมถึงข้อมูลที่มีค่าตรงกันและข้อมูลที่ไม่ตรงกันในทั้งสองตาราง
การใช้ FULL OUTER JOIN ทำให้ได้ข้อมูลทั้งหมดจากทั้งสองตาราง และถ้าข้อมูลในตารางใดไม่มีค่าตรงกับอีกตาราง ข้อมูลนั้นจะเป็น NULL ทั้งนี้ FULL OUTER JOIN นั้นไม่ได้รับการสนับสนุนในฐานข้อมูลบางประเภท เช่น MySQL จึงต้องใช้วิธีการอื่นเพื่อให้ได้ผลลัพธ์เช่น UNION แทน
- โดยในโค้ดดังกล่าว:
table1 และ table2 คือตารางที่ต้องการ JOIN
key คือคีย์ที่ใช้ในการเชื่อมโยงข้อมูลระหว่างตาราง
* หมายถึงการเลือกทุกคอลัมน์จากทั้งสองตาราง
คำสั่งดังกล่าวจะรวมข้อมูลจากตาราง table1 และ table2 โดยมีเงื่อนไขการเชื่อมโยงระหว่างคีย์ key ที่ระบุ ตามประเภทของ JOIN ที่กำหนด
SQL JOIN คือเครื่องมือสำคัญในการรวมข้อมูลจากหลายตารางในฐานข้อมูล โดยมีประเภทหลักๆ ได้แก่ INNER JOIN, LEFT JOIN, RIGHT JOIN, และ FULL OUTER JOIN ซึ่งช่วยให้เราสามารถเลือกข้อมูลที่เชื่อมโยงกันอย่างมีประสิทธิภาพ นอกจากนี้ยังมีการสอนวิธีการใช้ JOIN และตัวอย่างการประยุกต์ใช้ในสถานการณ์จริง เพื่อเสริมสร้างความเข้าใจและทักษะในการใช้ SQL JOIN อย่างมีประสิทธิภาพในการจัดการข้อมูลในฐานข้อมูลของเรา ดังนั้น SQL JOIN เป็นเครื่องมือสำคัญที่ควรรู้จักและเรียนรู้ในการทำงานกับข้อมูลในระบบฐานข้อมูลของเรา
อ้างอิง
https://mode.com/sql-tutorial/sql-joins
https://www.w3schools.com/sql/sql_join.asp
https://iamgique.medium.com/การใช้-join-ใน-sql-แบบอ๋องี้นี่เอง-479ce75f33b1