สารบัญ:
คำจำกัดความ - เข้าร่วมหมายความว่าอะไร
เข้าร่วมคือการดำเนินการ SQL เพื่อสร้างการเชื่อมต่อระหว่างสองตารางฐานข้อมูลหรือมากกว่านั้นขึ้นอยู่กับคอลัมน์ที่ตรงกันดังนั้นการสร้างความสัมพันธ์ระหว่างตาราง แบบสอบถามที่ซับซ้อนที่สุดในระบบการจัดการฐานข้อมูล SQL เกี่ยวข้องกับคำสั่งเข้าร่วม
การรวมมีหลายประเภท ชนิดของการเข้าร่วมโปรแกรมเมอร์จะเป็นตัวกำหนดว่าจะเลือกแบบสอบถามใด สามอัลกอริทึมทำงานอยู่เบื้องหลังการดำเนินการเข้าร่วม: เข้าร่วมแฮชเข้าร่วมจัดเรียงผสานและเข้าร่วมวงซ้อน
Techopedia อธิบายเข้าร่วม
ประเภทการเข้าร่วมเริ่มต้นคือการรวมภายใน การรวมภายในเลือกระเบียนจากสองตารางที่เก็บค่าที่ตรงกัน เร็กคอร์ดที่ไม่มีการจับคู่หรือค่าทั่วไปจะถูกแยกออกจากเอาต์พุต แบบสอบถามจะเปรียบเทียบแต่ละแถวของตารางแรกกับแถวของตารางที่สองเพื่อค้นหาแถวเพื่อตอบสนองการเข้าร่วมของกริยา
ตัวอย่างเช่นหากตารางหนึ่งมีรายละเอียดพนักงานและอีกตารางมีข้อมูลผู้จัดการสามารถเข้าร่วมได้ในตารางพนักงานและผู้จัดการเพื่อแสดงพนักงานที่เป็นผู้จัดการด้วย แบบสอบถามต่อไปนี้แสดงพนักงานที่เป็นผู้จัดการ:
เลือก * จากพนักงานภายในเข้าร่วมผู้จัดการ ON Employee.Managerid = Manager.Managerid
การเข้าร่วมจะดำเนินการกับคอลัมน์ที่ตรงกันเสมอซึ่งจะระบุไว้ในส่วนคำสั่ง "ON" ของแบบสอบถาม คอลัมน์ที่ตรงกันในตัวอย่างนี้คือ "Managerid" เนื่องจากมีการใช้โอเปอเรเตอร์ '=' จึงเรียกว่า equijoin
การเข้าร่วมที่เป็นธรรมชาติยังให้ผลลัพธ์เดียวกัน แต่ใช้คำสำคัญ "USING" ในส่วนคำสั่งการรวม แบบสอบถามข้างต้นสามารถแก้ไขได้ดังต่อไปนี้เพื่อระบุการเข้าร่วมที่เป็นธรรมชาติ:
SELECT พนักงาน, ผู้จัดการจาก Employee INNER เข้าร่วม Manager โดยใช้ (Managerid)
แม้ว่าจะไม่ได้ระบุคอลัมน์ที่ตรงกันการเข้าร่วมจะยังคงดำเนินการระหว่างสองตาราง การเข้าร่วมประเภทนี้เรียกว่า cross cross (บางครั้งเรียกว่าผลิตภัณฑ์ Cartesian) ซึ่งเป็นรูปแบบการเข้าร่วมที่ง่ายที่สุด เนื่องจากไม่ได้ระบุข้อ จำกัด ของคีย์ไว้ทุกแถวในตารางแรกจึงถูกรวมเข้ากับแถวทั้งหมดในตารางที่สอง หากตารางแรกมีสองแถวและตารางที่สองมีสามแถวผลลัพธ์จะมีหกแถว
การรวมภายนอกเป็นอีกประเภทการเข้าร่วมที่สำคัญ โดยทั่วไปการรวมภายนอกใช้ในระเบียนทั้งหมดของตารางหนึ่งและระเบียนที่ตรงกันของตารางอื่น ๆ เป็นเอาต์พุต การเข้าร่วมด้านนอกอาจเป็นการเข้าร่วมด้านนอกด้านซ้ายหรือการเข้าร่วมด้านนอกด้านขวา ในการรวมภายนอกด้านซ้ายตารางทั้งหมดของตารางด้านซ้าย - แม้ว่าพวกเขาจะไม่ตรงตามเงื่อนไขการจับคู่ - และแถวที่ตรงกันของตารางด้านขวาจะแสดงในผลลัพธ์ ในการรวมภายนอกด้านขวาแถวทั้งหมดของตารางด้านขวาและแถวที่ตรงกันของตารางด้านซ้ายจะแสดงเป็นเอาท์พุท
ในกรณีที่หายากตารางสามารถเข้าร่วมกับตัวเอง สิ่งนี้เรียกว่าการเข้าร่วมด้วยตนเอง
