การรวมด้านซ้ายและขวา

เสร็จสมบูรณ์เมื่อ

การรวมด้านซ้าย

หรือ LEFT JOINที่เรียกว่า เป็น LEFT OUTER JOINการดําเนินการ SQL ชนิดหนึ่งที่รักษาแถวทั้งหมดจากตารางซ้ายมือ (หรือแรก) ในคิวรีโดยไม่คํานึงว่ามีแถวที่ตรงกันในตารางด้านขวา (หรือวินาที) หรือไม่ เมื่อพบค่าที่ตรงกัน คอลัมน์จากตารางด้านขวาจะถูกเติมด้วยค่าที่สอดคล้องกัน อย่างไรก็ตาม หากไม่มีคู่ที่ตรงกัน ผลลัพธ์จะรวม null ในคอลัมน์ที่มาจากตารางที่ถูกต้อง
การรวมนี้มีประโยชน์เมื่อคุณต้องการสร้างรายการที่ครอบคลุมจากตารางหนึ่งในขณะที่ผนวกข้อมูลที่เกี่ยวข้องจากอีกตารางหนึ่ง แม้ว่าความสัมพันธ์ดังกล่าวจะมีความไม่สมบูรณ์หรือไม่สมบูรณ์ก็ตาม

SELECT customers.customer_name, orders.order_id
FROM sales.customers AS customers
LEFT JOIN sales.orders AS orders ON customers.customer_id = orders.customer_id;

คิวรี SQL ที่ใช้ LEFT JOIN ดึงข้อมูลลูกค้าทั้งหมดจาก sales.customers ตาราง รวมถึงลูกค้าที่ไม่มีลําดับ sales.orders ที่ตรงกันในตาราง คําสั่ง ON ย่อยระบุว่าเขตข้อมูลเชื่อมโยง customer_id สองตาราง
สําหรับลูกค้าที่มีคําสั่งซื้อ order_id จาก orders ตารางจะปรากฏขึ้น อย่างไรก็ตาม หากลูกค้าไม่มีคําสั่งซื้อใดๆ ผลลัพธ์จะยังคงรวมถึงลูกค้าด้วย order_id คอลัมน์ที่แสดงค่า Null

การรวมด้านขวา

หรือ RIGHT JOINที่เรียกว่า RIGHT OUTER JOINเป็นการดําเนินการ SQL ที่ทําให้มั่นใจว่าแถวทั้งหมดจากตารางด้านขวา (หรือวินาที) จะรวมอยู่ในผลลัพธ์โดยไม่คํานึงถึงว่ามีแถวที่ตรงกันในตารางด้านซ้ายมือ (หรือแรก) หรือไม่
ในกรณีที่ไม่ตรงกัน คอลัมน์จากตารางด้านซ้ายจะแสดงค่า Null การรวมชนิดนี้มักใช้เพื่อมุ่งเน้นข้อมูลในตารางด้านขวา ในขณะที่ยังผนวกข้อมูลจากตารางด้านซ้ายที่ใดก็ตามที่มีความสัมพันธ์อยู่

SELECT customers.customer_name, orders.order_id
FROM sales.customers AS customers
RIGHT JOIN sales.orders AS orders ON customers.customer_id = orders.customer_id;

คิวรีนี้จะดึงข้อมูลแถวทั้งหมดจาก sales.orders ตาราง เพื่อให้แน่ใจว่าทุกคําสั่งซื้อจะรวมอยู่ในผลลัพธ์แม้ว่าจะไม่มีรายการที่เกี่ยวข้องในตาราง sales.customers ก็ตาม
คําสั่ง ON ย่อยระบุความสัมพันธ์ระหว่างสองตารางผ่าน customer_id คอลัมน์ ถ้าคําสั่งซื้อมีลูกค้า customer_name ที่สอดคล้องกัน คอลัมน์จะถูกเติมด้วย customer_nameค่า null จะแสดงสําหรับเรกคอร์ดที่ไม่ตรงกัน