ความแตกต่างระหว่างการรวมภายในและการเข้าร่วมภายนอก (พร้อมตาราง)

สารบัญ:

Anonim

การรวมภายในนั้นใช้โดยส่วนใหญ่และใช้เพื่อรวมหลายบรรทัดของตารางสองตารางที่ไม่ซ้ำกันพร้อมกับคีย์ทั่วไประหว่างตาราง โดยไม่มีส่วนที่ชัดเจนหรือเข้าใจ เมื่อมีการประสานงานกับคีย์ระหว่างสองตาราง โดยที่ inner join รวมทั้งสองตารางโดยการฝังมูลค่าที่สำคัญเป็นส่วนเสริมลงในแต่ละตาราง จะเรียกว่าการรวมภายนอก อาจเป็นทางเลือกที่ต่างไปจากนี้ ประมาณสองโต๊ะหรืออีกสองสามโต๊ะ ถ้าชุดข้อมูลมีขนาดใหญ่ การใช้การรวมภายนอกของตารางเดี่ยวจะทำให้การนำเสนอคำถามดีขึ้นมาก

เข้าร่วมภายใน vs เข้าร่วมภายนอก

ความแตกต่างระหว่าง Inner Join และ Outer Join คือ Inner join ส่งกลับบรรทัดจากตารางอย่างน้อยสองตารางโดยที่ส่วนใดส่วนหนึ่งมีค่าใกล้เคียงกันในทุกตาราง ในขณะที่การรวมภายนอกส่งคืนบรรทัดจากตารางอย่างน้อยสองตารางโดยที่ส่วนใดส่วนหนึ่ง มีค่าทั่วไป เช่นเดียวกับคอลัมน์ที่เงื่อนไขการรวมไม่คงที่ การรวมภายในจะรวมเฉพาะข้อมูลที่เป็นเรื่องปกติของการรวมทุกส่วน การรวมภายนอกรวมข้อมูลที่นำไปใช้กับทุกส่วน

การรวมภายในเป็นหนึ่งในส่วนร่วมที่ใช้บ่อยที่สุดใน SQL Worker เงื่อนไขการเข้าร่วมขาเข้าอนุญาตให้คุณสอบถามข้อมูลเกี่ยวกับตารางที่เกี่ยวข้องอย่างน้อยสองตาราง Inward Join ใช้เพื่อส่งคืนผลลัพธ์เหล่านั้นจากตารางที่ตรงกับเงื่อนไขที่กำหนดไว้ล่วงหน้า และครอบคลุมเส้นและส่วนต่างๆ

เราใช้การรวมภายนอกเพื่อประสานงานกับคอลัมน์ระหว่างตาราง เราควรได้รับการผลักดันที่ตรงกันควบคู่ไปกับคอลัมน์ที่ไม่มีใครเทียบได้จากโต๊ะใดโต๊ะหนึ่ง ในการเข้าร่วมภายนอก รายการทั้งหมดจากทั้งสองตารางจะถูกรวมเข้าไว้ด้วยกัน ในกรณีที่มีคอลัมน์ที่ไม่มีใครเทียบได้ คอลัมน์นั้นจะแสดงคุณสมบัติที่ไม่ถูกต้องสำหรับคอลัมน์เหล่านั้น เรามีการรวมภายนอกสามประเภทที่มาพร้อมกัน

ตารางเปรียบเทียบระหว่าง Inner Join และ Outer Join

พารามิเตอร์ของการเปรียบเทียบ

เข้าร่วมภายใน

เข้าร่วมด้านนอก

เอาท์พุต ส่งกลับเฉพาะคอลัมน์ที่ต้องประสานกับค่าในตารางทั้งสอง รวมการประสานงานกับเส้นต่าง ๆ เช่นเดียวกับส่วนหนึ่งของเส้นที่ไม่ประสานกันระหว่างสองตาราง
ประสิทธิภาพ Inner JOIN นั้นเร็วกว่า OUTER JOIN โดยมาก ส่วนใหญ่ OUTER JOIN จะช้ากว่า INNER JOIN เนื่องจากต้องส่งกลับระเบียนเพิ่มเติมเมื่อเปรียบเทียบกับ INNER JOIN
การแข่งขัน เมื่อไม่พบการจับคู่จะไม่ส่งคืนสิ่งใด เมื่อไม่มีการติดตามการแข่งขัน ค่า NULL จะถูกตั้งค่าในส่วนที่ส่งกลับ
การใช้งาน ใช้ INNER JOIN เมื่อคุณต้องการดูข้อมูลที่แน่นอนในคอลัมน์ใดคอลัมน์หนึ่ง ใช้ OUTER JOIN เมื่อคุณต้องการแสดงรายการข้อมูลทั้งหมดในสองตาราง
เข้าร่วมโดยปริยาย มีเอกสารการรวมโดยนัยสำหรับการเข้าร่วมภายใน ซึ่งลงทะเบียนตารางเพื่อเข้าร่วมในรูปแบบที่แยกด้วยเครื่องหมายจุลภาคในอนุประโยค FROM ไม่มีเอกสารการรวมโดยนัยสำหรับการเข้าร่วมภายนอก

Inner Join คืออะไร?

INNER JOIN เลือกทุกบรรทัดจากทั้งสองตารางส่วน ตราบใดที่มีการจับคู่ระหว่างเซ็กเมนต์ SQL INNER JOIN เทียบเท่ากับเงื่อนไข JOIN ซึ่งรวมบรรทัดจากตารางอย่างน้อยสองตาราง INNER JOIN ใน SQL รวมสองตารางตามการประสานงานของแบบจำลองเฉพาะที่ใช้ผู้ดูแลระบบการตรวจสอบ

การรวมภายในตามเครื่องหมายการค้าทั่วไประหว่างสองตาราง ในขณะที่ใช้การเข้าร่วมภายใน ควรมีการวางแผนบางอย่างด้วยข้อมูลระหว่างตาราง (อย่างน้อยสองตาราง) ที่กำลังถูกไตร่ตรอง การรวมภายในกรองตารางสำหรับการจัดระเบียบหรือครอบคลุมข้อมูล เมื่อค้นพบแล้ว การรวมภายในจะแข็งตัวและส่งคืนข้อมูลลงในตารางใหม่หนึ่งตาราง

เราควรไตร่ตรองสถานการณ์ทั่วไปของสองตาราง: สิ่งของ ค่าใช้จ่าย และผลรวม ข้อมูลทั่วไปในสองตารางคือชื่อสิ่งของ นั่นคือพื้นที่ที่สามารถคาดเดาได้ในการเข้าร่วมตาราง มีสองสิ่งที่เป็นเรื่องปกติในสองตาราง อื่นๆ น่าสนใจสำหรับโต๊ะหนึ่งและไม่มีคู่ที่ตรงกันในโต๊ะอื่น

Outer Join คืออะไร?

การรวมภายนอกใช้เพื่อทำงานกับส่วนต่างๆ จากสองตาราง ไม่ว่าจะไม่มีการแข่งขัน กลุ่มจะถูกรวมเข้าด้วยกัน มีการรวมบรรทัดจากตารางใดตารางหนึ่งอย่างต่อเนื่อง อีกประการหนึ่ง เมื่อไม่มีการจับคู่ แอตทริบิวต์ NULL จะถูกรวมเข้าด้วยกัน การรวมภายนอกมีสามประเภท: เข้าร่วมซ้าย, เข้าร่วมขวา, เข้าร่วมแบบเต็ม

เนื่องจากการรวมภายนอกเข้ากับพื้นที่ที่คล้ายกับที่ไม่มี จึงเป็นวิธีพิเศษในการค้นหาข้อความที่ขาดหายไปในตาราง สิ่งนี้น่าทึ่งมากเมื่อคุณต้องการยุติฐานข้อมูลของคุณเพื่อเลือกว่ามีปัญหาด้านความถูกต้องของข้อมูลหรือไม่ การรวมภายนอกส่งคืนค่าคอลัมน์ที่ยอดเยี่ยมเป็นคุณสมบัติ NULL ช่องเงื่อนไขที่เกี่ยวกับคุณสมบัติที่ไม่ถูกต้อง เหลือเพียงชื่อหมวดหมู่ย่อยที่ไม่ตรงกันให้เราตรวจสอบ

ความแตกต่างหลักระหว่างการรวมภายในและการเข้าร่วมภายนอก

บทสรุป

การรวมภายในมีความชัดเจนอย่างแท้จริง และโดยทั่วไปแล้ว หลักการสำคัญที่เรียนรู้โดยการเริ่มต้นวิศวกร MySQL การรวมภายนอกนั้นรวมการกำหนดลักษณะตารางเด่นในขณะที่ใช้แบบจำลอง ดังนั้นส่วนทั้งหมดในตารางนั้นจึงมองเห็นได้ชัดเจนพร้อมกับส่วนที่ตรงกับการวัด ในวิดีโอนี้ สตีฟ เพอร์รีเริ่มชี้แจงกรณีการใช้งานที่หลากหลายที่เกี่ยวข้องกับการรวมภายในและภายนอก และหลังจากนั้นจะแสดงวิธีดำเนินการแต่ละส่วนโดยใช้ข้อต่อของ MySQL นักออกแบบมือใหม่ที่มีฐานข้อมูลที่รองรับ MySQL จะเรียนรู้ทีละนิดถึงวิธีการใช้วิธีการเข้าร่วมภายในและภายนอกเพื่อรวมตารางพร้อมกับข้อมูลที่ไม่ประสานกัน

ในฐานข้อมูลทางสังคม ข้อมูลทั้งหมดควรประกอบขึ้นเพียงครั้งเดียว หากต้องการตรวจสอบข้อมูลนี้ คุณต้องมีข้อมูลบางอย่างเพื่อรวมข้อมูลที่เชื่อมโยง เข้าร่วมอาจเป็นคำถามที่ใช้มากที่สุดโดยผู้เชี่ยวชาญด้านฐานข้อมูล Joins ส่งคืนข้อมูลตารางในลักษณะที่ใช้ เนื่องจากการรวมเข้าด้านใน ลูกค้าสามารถรับคุณสมบัติปกติจากทั้งสองตาราง ในขณะที่การเข้าร่วมภายนอก ข้อมูลทั้งหมดจากทั้งสองตารางจะถูกจดจำสำหรับตารางที่ตามมา.

เราได้พูดคุยกันเกี่ยวกับการรวมภายนอกกับการเข้าร่วมภายใน ทั้งคู่สามารถรวมตารางได้ แต่ในขณะเดียวกันก็มีเอกลักษณ์ การเข้าร่วมภายในที่เกี่ยวกับตารางจะมีขนาดที่พอเหมาะกว่า ในขณะที่ตารางของการเข้าร่วมภายนอกจะมีขนาดใหญ่กว่ามาก ดังนั้น ตามความจำเป็นของลูกค้า พวกเขาสามารถใช้โต๊ะใดก็ได้

อ้างอิง

ความแตกต่างระหว่างการรวมภายในและการเข้าร่วมภายนอก (พร้อมตาราง)