CHARPTER 9 การเชื่อมเทเบิล JOIN…. TABLE
สาระการเรียนรู้ เพื่อศึกษาถึงหลักการสอบถามข้อมูลจากหลาย ๆ ตารางพร้อมกัน โดยการใช้คำสั่ง JOIN ซึ่งประกอบด้วยการ JOIN แบบ Equi Join, Self Join, Outer Join
การเชี่อมเทเบิล (JOIN TABLE) การทำนอร์มัลไลซ์เพื่อลดความซ้ำซ้อนในการจัดเก็บข้อมูล ที่เกี่ยวข้อง กันถูกแยกจากกันพร้อม ๆ กันกับการแบ่งตารางออกเป็นตารางย่อยได้ ซึ่งถ้าต้องการ นำข้อมูลเหล่านั้นมาใช้งานร่วมกันอีกครั้งก็จะต้องใช้วิธีการ JOIN
รูปแบบของคำสั่ง รูปแบบคำสั่ง SELECT แสดงได้ดังรูปแบบดังนี้ SELECT column_list FROM table1, table2 Where [table1.]column1=[table2.]column2;
SELECT column_list = เลือกแสดงคอลัมน์ที่ต้องการ โดยสามารถเลือกคอลัมน์ใด ก็ได้จากตาราง table1 และ table2 FROM table1, table2 = ชื่อตาราง 2 ตารางซึ่งเก็บข้อมูลที่เราสนใจและมีความสัมพันธ์ กันผ่านคมลัมน์ใดคอลัมน์หนึ่งกำหนดเงื่อนไขในการ join Where [table1.]column1 = กำหนดชื่อคอลัมน์จากทั้งสองตารางซึ่งเก็บข้อมูลความหมาย [table2.]column2; เดียวกัน (คอลัมน์ทั้งสองไม่จำเป็นต้องมีชื่อคอลัมน์เหมือนกัน) โดยต้องระบุทั้งชื่อตารางและชื่อคอลัมน์ด้วยถ้าชื่อคอลัมน์ ทั้งสองซ้ำกัน
การ JOIN TABLE ซึ่งประเภทของการ JOIN มีทั้งหมด 3 ประเภทได้แก่ 1) การเชื่อมเทเบิล (Equi join) 2) การเชื่อมเทเบิล (Self join) 3) การเชื่อมเทเบิล (Outer join)
การ JOIN TABLE แบบ Equi join
การ JOIN TABLE แบบ Equi join
การ JOIN TABLE แบบ Equi join คำสั่ง SQL การเชื่อมเทเบิล (Equi join) Select E.ENAME, E.DEPTNO, D.DEPNO, D.DNAME From EMP E, DEPT D Where E.DEPTNO, D.DEPTNO
การ JOIN TABLE แบบ Equi join ตัวอย่างที่ 9_1 จงทำการสอบถามข้อมูลจาก Database School โดยให้แสดงข้อมูล รหัสวิชา, ชื่อวิชา และอาจารย์ผู้สอนในวิชานั้น ๆ ทั้งหมด 1 M
การ JOIN TABLE แบบ Equi join คำสั่ง SQL select subject.subjectid, name, teacher from subject, teacher where subject.subjectid=teacher.subjectid; ผลลัพธ์
การ JOIN TABLE แบบ Self join EMP (WORKER) EMP (MANAGER)
การ JOIN TABLE แบบ Self join
การ JOIN TABLE แบบ Self join คำสั่ง SQL การเชื่อมเทเบิล (Self join) Select worker.ename ||’work for’||manager.ename From emp worker,emp manager Where worker.mgr = manager.empno ผลลัพธ์
การ JOIN TABLE แบบ Outer join ทางด้านขวามือ
การ JOIN TABLE แบบ Outer join 2) การเชื่อมเทเบิล (LEFT Outer join)
การ JOIN TABLE แบบ Outer join 2) การเชื่อมเทเบิล (RIGH Outer join)
การ JOIN TABLE แบบ Outer join ตัวอย่างที่ 9_2 จงทำการสอบถามข้อมูลจาก Database School โดยให้แสดงข้อมูล รหัสวิชาและชื่อวิชาทั้งหมดพร้อมทั้งชื่ออาจารย์ผู้สอนวิชานั้น ๆ (ถ้ามี) 1 M
การ JOIN TABLE แบบ Outer join คำสั่ง SQL SELECT a.subjectid, name, teacher from subject as a left JOIN teacher as b ON a.subjectid=b.subjectid; ผลลัพธ์
การ JOIN TABLE แบบ Outer join คำสั่ง SQL SELECT a.subjectid, name, teacher from subject as a left JOIN teacher as b ON a.subjectid=b.subjectid; ผลลัพธ์
สรุปท้ายบทเรียน หลักการเชื่อมเทเบิลหลายเทเบิลและแสดงเป็นเทเบิลสมมติเพื่อเก็บ ผลลัพธ์ซึ่งข้อมูลแต่ละคอลัมน์ได้มาจากเทเบิลที่ระบุ ข้อมูลแต่ละแถวนั้นมา จากการเรียงต่อข้อมูลแถวต่อจากแถวหลายเทเบิล โดยสามารถเลือกเฉพาะ แถวที่มีเงื่อไขตรงตามที่ระบุได้โดยลักษณะของการเชื่อมมี 3 แบบ ด้วยกันคือ Equi Join,Self Join และ Outter Join
THE END