Join (SQL)

ב-SQL, Join היא פסקה (חלק משאילתא) לאיחוד שדות בין שתי טבלאות על ידי ערכים המשותפים לשתיהן.

תקן ה-ANSI ל-SQL מגדיר ארבעה סוגים של איחוד: פנימי (Inner), חיצוני (Outer), ימינה (Right) ושמאלה (Left).
על המתכנת לכתוב פרדיקט עבור האיחוד כדי לזהות את הרשומות שיש לאחד. ברשומות בהן הפרדיקט חיובי, הרשומה מתאחדת לטבלת התוצאה בהתאם לפורמט.

איחוד פנימי (Inner Join) הוא האיחוד הנפוץ ביותר ביישומים ומשתמשים בו בדרך כלל בתור איחוד ברירת מחדל. איחוד פנימי יוצר טבלה חדשה על ידי שילוב שדות של שתי טבלאות המבוסס על פרדיקט האיחוד.

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

דוגמאות 
עבור הטבלאות:

בדוגמאות הללו פרדיקט האיחוד ידרוש תמיד שוויון בין שדה DepartmentID של הטבלה הראשונה לזה של הטבלה השנייה, אחרת נקבל גם רשומות שלא מעניינות אותנו, כגון:

Inner join

Left outer join 
התוצאה של איחוד עם left outer join (או בקיצור left join) עבור טבלאות A ו-B תכיל תמיד את כל הרשומות מהטבלה ה"שמאלית", אף אם תנאי האיחוד לא מוצא כל רשומה מתאימה בטבלה ה"ימנית" (B).

Right outer join 
דומה ל־Left outer join אך בכיוון ההפוך.

קישורים חיצוניים 
 מדריך לשפת SQL - רם קדם
מסדי נתונים