คำสั่ง Join ใน SQL สามารถแบ่งออกเป็นรูปแบบต่างๆ ได้ดังนี้:
1.INNER JOIN
- คำสั่ง INNER JOIN นั้นใช้เพื่อรวมข้อมูลระหว่างตารางตามเงื่อนไขที่กำหนด แถวที่มีค่าที่ตรงกันในทั้งสองตารางจะถูกเลือกแสดงผลเท่านั้น
โค้ด: เลือกทั้งหมด
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.id;
- ในผลลัพธ์นี้ เราสามารถเห็นได้ว่าข้อมูลจาก table1 และ table2 ได้รวมกันโดยมีการจับคู่ข้อมูลตามค่า id ที่ตรงกัน และแสดงผลลัพธ์ออกมาเป็นตารางที่มีคอลัมน์ของทั้งสองตารางโดยแสดงข้อมูลที่สอดคล้องกันตามเงื่อนไขที่กำหนด
2.LEFT JOIN
- คำสั่ง LEFT JOIN นั้นใช้เพื่อรวมข้อมูลจากตารางด้านซ้าย (table1) และตารางด้านขวา (table2) โดยแสดงแถวทั้งหมดจากตารางด้านซ้าย และข้อมูลที่มีค่าที่ตรงกันในตารางด้านขวา ถ้าไม่มีข้อมูลในตารางด้านขวา จะแสดงค่า NULL
โค้ด: เลือกทั้งหมด
SELECT *
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;
- ในผลลัพธ์นี้ เราสามารถเห็นได้ว่าข้อมูลจาก table1 ถูกรวมกับข้อมูลจาก table2 โดยแสดงข้อมูลทั้งหมดจาก table1 และข้อมูลที่ตรงกับเงื่อนไขใน table2 โดยค่า id ที่ไม่มีใน table2 จะแสดงเป็นค่า NULL ในคอลัมน์ของ table2
- คำสั่ง RIGHT JOIN นั้นใช้เพื่อรวมข้อมูลจากตารางด้านขวา (table2) และตารางด้านซ้าย (table1) โดยแสดงแถวทั้งหมดจากตารางด้านขวา และข้อมูลที่มีค่าที่ตรงกันในตารางด้านซ้าย ถ้าไม่มีข้อมูลในตารางด้านซ้าย จะแสดงค่า NULL
โค้ด: เลือกทั้งหมด
SELECT *
FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;
- ในผลลัพธ์นี้ เราสามารถเห็นได้ว่าข้อมูลจาก table2 ถูกรวมกับข้อมูลจาก table1 โดยแสดงข้อมูลทั้งหมดจาก table2 และข้อมูลที่ตรงกับเงื่อนไขใน table1 โดยค่า id ที่ไม่มีใน table1 จะแสดงเป็นค่า NULL ในคอลัมน์ของ table1
- คำสั่ง FULL JOIN นั้นใช้เพื่อรวมข้อมูลจากทั้งสองตาราง โดยแสดงแถวทั้งหมดจากทั้งสองตาราง และจะแสดงค่า NULL ในกรณีที่ไม่มีข้อมูลที่ตรงกัน
โค้ด: เลือกทั้งหมด
SELECT *
FROM table1
FULL JOIN table2 ON table1.column = table2.column;
- ผลลัพธ์ของคำสั่ง SQL นี้จะเป็นการรวมข้อมูลทั้งหมดจาก table1 และ table2 โดยแสดงข้อมูลทั้งหมดจากทั้งสองตาราง รวมถึงข้อมูลที่ไม่ตรงกันในทั้งสองตารางด้วย และจะแสดงค่า NULL ในส่วนที่ไม่มีข้อมูลในตารางที่มีข้อมูลในอีกตาราง หรือไม่มีข้อมูลในทั้งสองตารางในส่วนนั้นๆ ของผลลัพธ์ที่รวมกัน
อ้างอิง
https://www.mindphp.com/คู่มือ/73-คืออะ ... ออะไร.html
https://www.mindphp.com/บทเรียนออนไลน์/สอน-sql.html
viewtopic.php?t=51874