หน้า 1 จากทั้งหมด 1

PostgreSQL : คำสั่ง SQL การใช้ INNER JOIN

โพสต์แล้ว: 10/02/2015 6:25 pm
โดย thitikorn_lp
การใช้ 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 // ข้อมูลการขายและรหัสของผู้ซื้อ
2015-02-10_18-15-21.png
2015-02-10_18-15-21.png (23.12 KiB) Viewed 4766 times
จากตาราง res_partner // ข้อมูลรายชื่อของลูกค้าทั้งหมดในฐานข้อมูล
2015-02-10_18-23-11.png
2015-02-10_18-23-11.png (36.25 KiB) Viewed 4766 times
เมื่อนำมาทำการเชื่อมกันด้วย INNER JOINE ผลที่ได้คือ รายชื่อของ partner ที่มีใน sale_order จะแสดงขึ้นมา
2015-02-10_18-22-27.png
2015-02-10_18-22-27.png (38.76 KiB) Viewed 4766 times
ผลลัพธ์ที่เราได้คือ ส่วนสีม่วงที่อยู่ตรงกลาง // นั่นคือส่วนที่มีอยู่ร่วมกันนั่นเอง :mrgreen:
Untitled-1.png
Untitled-1.png (21.36 KiB) Viewed 4767 times