Share tips.

tips.html

คำสั่งการจับคู่ตาราง INNER JOIN, OUTER JOIN, LEFT JOIN และ RIGHT JOIN

คำสั่งในการจับคู่ตาราง จะใช้ร่วมกันกับคำสั่ง SELECT มีด้วยกัน 4 วิธีดังนี้
  1. INNER JOIN จะรวมข้อมูลที่เลือกเชื่อมต่อ
  2. OUTER JOIN จะรวมข้อมูลที่เลือกเชื่อมต่อ
  3. LEFT JOIN จะรวมข้อมูลที่ตรงกัน โดยจะเน้นตารางฝั่งซ้ายเป็นหลัก
  4. RIGHT JOIN จะรวมข้อมูลที่ตรงกัน โดยจะเน้นตารางฝั่งขวาเป็นหลัก

รูปแบบคำสั่ง INNER JOIN, OUTER JOIN, LEFT JOIN และ RIGHT JOIN
/* แสดงข้อมูลในตาราง tb_name1 ของฟิลด์ filed_1, filed_2  และ tb_name2 ของฟิลด์ filed_3, fild_4 โดย primary_key ของ tb_name1 จะมีค่าเท่ากับ foreign_key ของ tb_name2  */

/* INNER JOIN */
SELECT tb_name1.primary_key, tb_name1.filed_2, tb_name2.filed_3, tb_name2.foreign_key FROM `tb_name1` INNER JOIN `tb_name2` ON tb_name1.primary_key=tb_name2.foreign_key;

/* OUTER JOIN */
SELECT tb_name1.primary_key, tb_name1.filed_2, tb_name2.filed_3, tb_name2.foreign_key FROM `tb_name1`, `tb_name2` WHERE tb_name1.primary_key=tb_name2.foreign_key;

/* LEFT JOIN */
SELECT tb_name1.primary_key, tb_name1.filed_2, tb_name2.filed_3, tb_name2.foreign_key FROM tb_name1 LEFT JOIN tb_name2 ON tb_name1.primary_key=tb_name2.foreign_key;

/* RIGHT JOIN */
SELECT tb_name1.primary_key, tb_name1.filed_2, tb_name2.filed_3, tb_name2.foreign_key FROM tb_name1 RIGHT JOIN tb_name2 ON tb_name1.primary_key=tb_name2.foreign_key;
ข้อมูลตัวอย่าง
ตาราง Categories
cate_id cate_name
1 เครื่องใช้ไฟฟ้า
2 เครื่องใช้สำนักงาน
3 ยานพาหนะ
5 เครื่องมือสือสาร
ตาราง Products  
prod_id prod_name cate_id
10 รถยนต์ 3
11 รถบรรทุก 3
12 โต๊ะ 2
15 คอมพิวเตอร์ 1
16 เก้าอี้ 2
20 ถ่าน AAA 4

 

ตัวอย่าง INNER JOIN
SELECT categories.cate_name, products.prod_id, products.prod_name FROM categories INNER JOIN products ON categories.cate_id=products.cate_id;

จับคู่ตาราง Categories กับ Products  
cate_name prod_name cate_id
เครื่องใช้ไฟฟ้า 15 คอมพิวเตอร์
เครื่องใช้สำนักงาน 12 โต๊ะ
เครื่องใช้สำนักงาน 16 เก้าอี้
ยานพาหนะ 10 รถยนต์
ยานพาหนะ 11 รถบรรทุก

 

ตัวอย่าง OUTER JOIN
SELECT categories.cate_name, products.prod_id, products.prod_name FROM categories, products WHERE categories.cate_id=products.cate_id;

จับคู่ตาราง Categories กับ Products  
cate_name prod_name cate_id
เครื่องใช้ไฟฟ้า 15 คอมพิวเตอร์
เครื่องใช้สำนักงาน 12 โต๊ะ
เครื่องใช้สำนักงาน 16 เก้าอี้
ยานพาหนะ 10 รถยนต์
ยานพาหนะ 11 รถบรรทุก

ตัวอย่าง LEFT JOIN
SELECT categories.cate_name, products.prod_id, products.prod_name FROM categories LEFT JOIN products ON categories.cate_id=products.cate_id;

จับคู่ตาราง Categories กับ Products  
cate_name prod_name cate_id
เครื่องใช้ไฟฟ้า 15 คอมพิวเตอร์
เครื่องใช้สำนักงาน 12 โต๊ะ
เครื่องใช้สำนักงาน 16 เก้าอี้
ยานพาหนะ 10 รถยนต์
ยานพาหนะ 11 รถบรรทุก
เครื่องมือสื่อสาร 5 ของใช้

 

ตัวอย่าง RIGHT JOIN
SELECT categories.cate_name, products.prod_id, products.prod_name FROM categories RIGHT JOIN products ON categories.cate_id=products.cate_id;

จับคู่ตาราง Categories กับ Products  
cate_name prod_name cate_id
เครื่องใช้ไฟฟ้า 15 คอมพิวเตอร์
เครื่องใช้สำนักงาน 12 โต๊ะ
เครื่องใช้สำนักงาน 16 เก้าอี้
ยานพาหนะ 10 รถยนต์
ยานพาหนะ 11 รถบรรทุก
  20 ถ่าน AAA

สามารถเลือกใช้กันตามความถนัดและความเหมาะสม

 

16 กุมภาพันธ์ 2555 14:18:50