การใช้ INNER JOIN (อีนเนอะ จอย) หรือ การเลือกข้อมูลจากหลายตาราง
การใช้ Inner Join (อินเนอะ จอย)เป็นการเลือกข้อมูลจากตารางใดตารางหนึ่ง เพื่อนำไปรวมกับตารางอื่นที่มีข้อมูลเกี่ยวข้องกัน
ตัวอย่าง : จะทำการเลือกตาราง sale_order (เซล_ออร์เดอร์) และตาราง res_partner (เรส_พาร์ทเนอร์) นำมาทำการ INNER JOIN กัน เพื่อดูว่า รายการสั่งซื้อแต่ละใบเป็นของใครบ้าง
รูปแบบคำสั่ง :
SELECT ชื่อคอลัมน์
FROM ชื่อตาราง A
INNER JOIN ชื่อตาราง B ON ตาราง A.ชื่อคอลัมน์(ที่มีความสัมพันธ์กับตาราง)=ตาราง .ชื่อคอลัมน์;
โค้ด :
SELECT res_partner.id,res_partner.name,sale_order.partner_id, sale_order.date_order ,sale_order.name, sale_order.amount_total
FROM sale_order
INNER JOIN res_partner ON res_partner.id=sale_order.partner_id
ผลที่ได้ :
จากตาราง sale_order // ข้อมูลการขายและรหัสของผู้ซื้อ
เมื่อนำมาทำการเชื่อมกันด้วย INNER JOINE ผลที่ได้คือ รายชื่อของ partner ที่มีใน sale_order จะแสดงขึ้นมา
ผลลัพธ์ที่เราได้คือ ส่วนสีม่วงที่อยู่ตรงกลาง // นั่นคือส่วนที่มีอยู่ร่วมกันนั่นเอง
สามารถศึกษาเพิ่มเติมได้ที่ คำสั่ง SQL ต่างๆ
โดย : http://www.mindphp.com