ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การใช้ 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 จะแสดงขึ้นมา

รายชื่อของ parter ที่มีใน sale_order จะแสดงขึ้นมา
รายชื่อของ parter ที่มีใน sale_order จะแสดงขึ้นมา

ผลลัพธ์ที่เราได้คือ ส่วนสีม่วงที่อยู่ตรงกลาง // นั่นคือส่วนที่มีอยู่ร่วมกันนั่นเอง

ข้อมูลที่มีอยู่ร่วมกันทั้ง 2 ตาราง
ข้อมูลที่มีอยู่ร่วมกันทั้ง 2 ตาราง

สามารถศึกษาเพิ่มเติมได้ที่ คำสั่ง SQL ต่างๆ

โดย : http://www.mindphp.com