ההבדל בין הצטרפות פנימית לחיבור חיצוני ב- SQL

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 2 אַפּרִיל 2021
תאריך עדכון: 12 מאי 2024
Anonim
ההבדל בין הצטרפות פנימית לחיבור חיצוני ב- SQL - טכנולוגיה
ההבדל בין הצטרפות פנימית לחיבור חיצוני ב- SQL - טכנולוגיה

תוֹכֶן


הצטרפות פנימית והצטרפות חיצונית שניהם הם סוגים של הצטרף. הצטרף משווה ומשלב טיפולים משני יחסים או טבלאות. הצטרפות פנימית מציינת את ההצטרפות הטבעית, כלומר אם אתה כותב סעיף הצטרפות ללא מילת מפתח פנימית הוא מבצע את פעולת ההצטרפות הטבעית. ההבדל הפוטנציאלי בין הצטרפות פנימית לחיבור חיצוני הוא זה הצטרף פנימי מחזירה רק את הגבולות התואמות הן מהשולחן והן מה- הצטרפות חיצונית מחזירה את כל הגידולים משני הטבלאות שהושוו. בוא נדון בכמה הבדלים אחרים בין הצטרפות פנימית להצטרפות חיצונית בעזרת תרשים ההשוואה המוצג להלן.

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

בסיס להשוואההצטרף פנימיהצטרפות חיצונית
בסיסיהצטרפות פנימית מציגה רק את הגדולות התואמות משני השולחן.הצטרפות חיצונית מציגה את כל הגידולים משני השולחנות.
מאגר מידעהגודל הפוטנציאלי של מסד הנתונים שהוחזר על ידי Inner Join קטן יחסית יחסית ל- Outer Join.הצטרפות חיצונית מחזירה בסיס נתונים גדול יחסית.
סוגיםאין טיפוסים.הצטרף חיצוני להצטרף,
הצטרף חיצוני ימני,
והצטרפות חיצונית מלאה.


הגדרה של הצטרף פנימי

הצטרפות פנימית מכונה גם הצטרפות טבעית. הצטרפות פנימית משווה בין שתי טבלאות ומשלבת את הכותרת התואמת בשתי הטבלאות. זה נקרא גם כברירת המחדל של צירוף, שכן סעיף ההצטרפות נכתב ללא מילת המפתח הפנימית שהוא מבצע את ההצטרפות הטבעית. אם סעיף ההצטרפות נכתב ללא מילת מפתח חיצונית אז מבוצע גם הצטרפות פנימית.

ניתן להסביר את הצטרפות פנימית באמצעות דוגמא. ישנם שני טבלאות שולחן סטודנטים ושולחן מחלקה. כעת בואו נבין מה מבצע ה- JOIN הפנימי.

בחר שם, סמ, שם הפרידה מהמחלקה להצטרף לסטודנטים ב- Department on Student.Department_ID = Department.ID.

אתה יכול לראות שרק טיפולים אלה מתקבלים כתוצאה מכך Student.Department_ID = Department.ID. מכאן, אנו יכולים לומר כי Inner Join משלב רק את הכותרת התואמת של שני טבלה.


הגדרה של הצטרפות חיצונית

שלא כמו ב- Join Inner, רק הפטולות הללו פלטות שיש להן ערכי תכונה בשני הטבלה שהושוו; הצטרפות חיצונית מפלטת את כל קליפיהם של שני השולחן. הצטרפות חיצונית היא משלושה סוגים שמאל חיצוני הצטרף, הצטרף חיצוני ימני, ו הצטרפות חיצונית מלאה.

הבה אותם אחד אחד. ראשית, בואו ניקח שמאל חיצוני להצטרף.

בחר שם, שם מחלקה מהסטודנט השמאלי החיצוני הצטרף למחלקה בסטודנט.משרד_יד = מחלקה.

ניתן לראות כי כל החלקות משולחן הסטודנטים מוצגות בתוצאה.

בחר שם, שם מחלקה מהמחלקה ימינה חיצוני הצטרף לסטודנט ON Student.Department_ID = Depoartment.ID.

אתה יכול לראות שכל החלקיקים משולחן המחלקה מוצגים.

בחר שם, שם מחלקה מתוך סטודנט מלא הצטרפות חיצונית למחלקה בסטודנט. מחלקה_יד = מחלקה.

ניתן לשים לב שכל התקלות משני הטבלאות מוצגות בתוצאה.

  1. ההבדל הבסיסי בין ההצטרפות הפנימית לחיבור החיצוני הוא שהחיבור הפנימי משווה ומשלב רק את הגדולות התואמות מהשולחנות. מצד שני, ה- Outer Join משווה ומשלב בין כל הגידולים משני השולחנות אותם משווים.
  2. גודל מסד הנתונים של התוצאה המתקבלת מה- Join Inner הוא קטן יותר מ- Outer Join.
  3. ישנם שלושה סוגים של הצטרפות חיצונית להצטרפות חיצונית, הצטרפות חיצונית ישרה וחיבור חיצוני מלא. אבל להצטרפות פנימית אין טיפוסים כאלה.

סיכום:

שתי הג'וינים מועילות מאוד. השימוש בו תלוי בדרישת המשתמש.