Applies ToAccess של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

הערה: באפשרותך לצרף שאילתות באותו אופן שבו אתה מצרף טבלאות, ובאפשרותך גם לצרף את שתיהן.

במאמר זה

סקירה כללית

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

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

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

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

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

התיבה 'מאפייני צירוף'

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

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

אזור זה קובע את סוג הצירוף: אפשרות 1 היא צירוף פנימי, 2 הוא צירוף חיצוני שמאלי ו- 3 הוא צירוף חיצוני ימני.

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

לראש הדף

סוגי צירופים

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

צירופים פנימיים: רק נתונים קשורים בשתי הטבלאות משולבים

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

צירופים חיצוניים: כל הנתונים הקשורים משולבים כראוי, בנוסף לכל הרשומות הנותרות מטבלה אחת

צירוף חיצוני דומה לצירוף פנימי, אך מוסיף את השורות הנותרות מתוך אחת הטבלאות. צירופים חיצוניים הם כיווניים: צירוף חיצוני שמאלי כולל את כל הרשומות מהטבלה השמאלית - הטבלה הראשונה בצירוף – וצירוף חיצוני ימני כולל את כל הרשומות מהטבלה הימנית – הטבלה השניה בצירוף.

צירופים חיצוניים מלאים: כל הנתונים, משולבים כאשר ישים

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

צירופים מוצלבים: כל הנתונים, המשולבים בכל דרך אפשרית

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

צירופים לא שוויון: כמו צירוף רגיל, אך שימוש בהשוואה שונה לשילוב שורות

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

הצגת שורות שבהן קיים ערך משותף בשתי הטבלאות המצורפות

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

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

כיצד ניתן לבצע בצירוף פנימי?

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

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

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

תחביר SQL עבור צירוף פנימי

צירופים פנימיים מצוינים ב- SQL במשפט FROM, כפי שמוצג להלן:

FROM table1 INNER JOIN table2 ON table1.field1 השווה טבלה2.field2

פעולת INNER JOIN כוללת חלקים אלה:

חלק

תיאור

table1, table2

שמות הטבלאות שמתוכן משולבות רשומות.

field1, field2

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

להשוות

כל אופרטור השוואה יחסי: "=", "<‎", ">", ‏"‎<=‎", ‏"‎>=‎" או "<>".

לקבלת מידע נוסף אודות תחביר צירוף פנימי, עיין בנושא פעולת INNER JOIN.

לראש הדף

הצגת כל השורות מטבלה אחת, ושורות תואמות מהטבלה השניה

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

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

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

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

כיצד ניתן לבצע להשתמש בצירוף חיצוני?

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

שינוי צירוף פנימי לצירוף חיצוני

  1. בתצוגת עיצוב שאילתה, לחץ פעמיים על הצירוף שברצונך לשנות.

    תיבת הדו-שיח מאפייני הצירוף תופיע.

  2. בתיבת הדו-שיח מאפייני צירוף, שים לב לאפשרויות המפורטות לצד אפשרות 2 ושיטה 3.

  3. לחץ על האפשרות שבה ברצונך להשתמש ולאחר מכן לחץ על אישור.

  4. Access מציג את הצירוף ומציג חץ המצביע ממקור הנתונים שבו ייכללו כל השורות במקור הנתונים, כאשר ייכללו רק שורות התואמות את תנאי הצירוף.

צירופים חיצוניים רב-משמעיים

אם אתה יוצר שאילתה המכילה LEFT JOIN ו- INNER JOIN, ייתכן ש- Access לא יוכל לקבוע איזו פעולת צירוף יש לבצע תחילה. מאחר שהתוצאות משתנות בהתאם לצירוף השמאלי או לצירוף הפנימי מבוצעים תחילה, Access מציג הודעת שגיאה:

כדי לתקן שגיאה זו, עליך לשנות את השאילתה כך שתנקה את הצירוף שיש לבצע תחילה.

תחביר SQL עבור צירוף חיצוני

צירופים חיצוניים מצוינים ב- SQL במשפט FROM, כפי שמוצג להלן:

FROM table1 [ LEFT | RIGHT ] JOIN table2ON table1.field1 compare table2.field2

פעולות LEFT JOIN ו- RIGHT JOIN כוללות חלקים אלה:

חלק

תיאור

table1, table2

שמות הטבלאות שמתוכן משולבות רשומות.

field1, field2

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

להשוות

כל אופרטור השוואה יחסי: "=", "<‎", ">", ‏"‎<=‎", ‏"‎>=‎" או "<>".

לקבלת מידע נוסף אודות תחביר צירוף חיצוני, עיין בנושא LEFT JOIN, RIGHT JOIN Operations.

לראש הדף

הצג את כל השורות בשתי הטבלאות והצטרף אליהן במקום שבו קיים ערך משותף

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

כדי להשתמש בשאילתת איחוד כדי לבצע צירוף חיצוני מלא:

  1. צור שאילתה עם צירוף חיצוני שמאלי בשדה שבו ברצונך להשתמש עבור צירוף חיצוני מלא.

  2. בכרטיסיה בית, בקבוצה תצוגות, לחץ על תצוגה ולאחר מכן לחץ על תצוגת SQL.

  3. הקש CTRL+C כדי להעתיק את קוד ה- SQL.

  4. מחק את תו הנקודה-פסיק בסוף משפט FROM ולאחר מכן הקש ENTER.

  5. הקלד UNION ולאחר מכן הקש ENTER.

    הערה: אל תשתמש במילת המפתח ALL בעת שימוש בשאילתת איחוד כדי לבצע צירוף חיצוני מלא.

  6. הקש CTRL+V כדי להדביק את קוד ה- SQL שהעתקת בשלב 3.

  7. בקוד שהדבקת, שנה את LEFT JOIN ל- RIGHT JOIN.

  8. מחק את תו הנקודה-פסיק בסוף משפט FROM השני ולאחר מכן הקש ENTER.

  9. הוסף משפט WHERE המציין שהערך של שדה הצירוף הוא NULL בטבלה הראשונה המופיעה במשפט FROM (הטבלה הימנית).

    לדוגמה, אם משפט FROM הוא:

    FROM Products RIGHT JOIN [Order Details]  ON Products.ID = [Order Details].[Product ID]

    עליך להוסיף את משפט WHERE הבא:

    WHERE Products.ID IS NULL

  10. הקלד נקודה-פסיק (;) בסוף משפט WHERE כדי לציין את סוף שאילתת האיחוד.

  11. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

צירופים מוצלבים

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

מדוע כדאי להשתמש בצירוף צלב?

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

כיצד ניתן לבצע להשתמש בצירוף צלב?

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

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

צירוף מוצלב לא מכוון בתצוגת עיצוב של שאילתה

1. השדות הבעיגולים צריכים להיות מצורפים זה לזה.

מוצר מוצלב לא מכוון

1. שים לב למספר הרשומות הגדול ביותר.

תוצאת השאילתה הנכונה

1. שים לב כי מספר הרשומות קטן הרבה יותר.

לראש הדף

צירוף טבלאות בהתבסס על אי-שוויון של ערכי שדה

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

אם ברצונך לשלב את השורות של שני מקורות נתונים בהתבסס על ערכי שדות שאינם שווים, השתמש בצירוף לא שווה. בדרך כלל, צירופים לא שווים מבוססים על האופרטורים גדולים מ- (>), הקטנים מ- (<), גדולים או שווים ל- (>=), או הקטנים או שווים ל- (<=). צירופים לא שווים המבוססים על האופרטור אינו שווה (<>) יכולים להחזיר שורות כמעט כמו צירופים מוצלבים, ולפרש את התוצאות.

כיצד ניתן לבצע להשתמש בצירוף לא שוויון?

צירופים לא קיימים אינם נתמכים בתצוגת עיצוב. אם ברצונך להשתמש בהם, עליך לעשות זאת באמצעות תצוגת SQL. עם זאת, באפשרותך ליצור צירוף בתצוגת עיצוב, לעבור לתצוגת SQL, למצוא את אופרטור ההשוואה שווה (=) ולשנות אותו לאופרטור שבו ברצונך להשתמש. לאחר הפעולה, תוכל לפתוח שוב את השאילתה בתצוגת עיצוב רק אם תשנה תחילה את אופרטור ההשוואה בחזרה לשוויון (=) בתצוגת SQL.

מחיקת צירוף

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

  1. ברשת עיצוב השאילתה, לחץ על הצירוף שברצונך להסיר.

  2. הקש DELETE.

-לחלופין-

  • ברשת עיצוב השאילתה, לחץ באמצעות לחצן העכבר הימני על הצירוף שברצונך להסיר ולאחר מכן לחץ על מחק.

לראש הדף

הוספת רשומות לטבלה

קשר גומלין

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

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

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.