מבוא ל- Access SQL

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

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

הערה: אין באפשרותך לערוך SQL עבור שאילתת אינטרנט.

בנושא זה

מהו SQL?

משפטי SQL בסיסיות: בחירה, מאת, והיכן

מיון התוצאות: לפי סדר

עבודה עם נתונים מסוכמים: קיבוץ לפי ועבור HAVING

שילוב תוצאות של שאילתה: איחוד

מידע נוסף אודות משפט SELECT

מידע נוסף אודות ה-from

מידע נוסף אודות ה-where

מהו SQL?

SQL היא שפת מחשב לעבודה עם ערכות עובדות וקשרי הגומלין ביניהן. תוכניות של מסדי נתונים יחסיים, כגון Access, השתמש ב- SQL כדי לעבוד עם נתונים. שפות מחשב רבים, כגון SQL הוא תקן בינלאומי מזוהה על-ידי גופי תקנים כגון ISO ו- ANSI.

עליך להשתמש ב- SQL כדי לתאר ערכות נתונים שיכולים לסייע לך לענות על שאלות. כאשר אתה משתמש ב- SQL, עליך להשתמש בתחביר הנכון. תחביר הוא הקבוצה של כללים לפיו הרכיבים של שפה משולבים באופן תקין. תחביר SQL המבוסס על תחביר באנגלית ולאחר משתמשת רבות שאותם רכיבים בתור Visual Basic for Applications (VBA) תחביר.

למשל, משפט SQL פשוט המאחזר רשימה של שמות משפחה של אנשי קשר ששמם הפרטי הוא Mary עשויה להיראות כך:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

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

משפטי SELECT

כדי לתאר ערכת נתונים באמצעות SQL, יש לכתוב משפט SELECT. משפט SELECT מכיל תיאור מלא של ערכת נתונים שברצונך לקבל ממסד נתונים. תיאור זה כולל את המידע הבא:

  • אילו טבלאות מכילות את הנתונים.

  • האופן שבו נתונים ממקורות שונים מקושרים.

  • אילו שדות או חישובים יפיקו את הנתונים.

  • קריטריונים התואמים נתונים חייב להיות כלול.

  • אם וכיצד למיין את התוצאות.

פסוקיות SQL

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

פסוקית SQL

הפעולה המבוצעת

נדרש

SELECT

פירוט השדות המכילים נתונים בעלי עניין.

כן

‎FROM

פירוט הטבלאות המכילות את השדות המפורטים בפסוקית SELECT.

כן

WHERE

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

לא

ORDER BY

קביעת אופן המיון של התוצאות.

לא

GROUP BY

במשפט SQL המכיל פונקציות צבירה, פירוט השדות שאינם מסוכמים בפסוקית SELECT.

רק אם קיימים שדות כאלה

HAVING

במשפט SQL המכיל פונקציות צבירה, קביעת תנאים החלים על שדות המסוכמים במשפט SELECT.

לא

מונחי SQL

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

מונח SQL

חלק משפט לשוני מקביל

הגדרה

דוגמה

מזהה

שם עצם

שם המשמש אותך לזיהוי אובייקט מסד נתונים, כגון שם של שדה.

Customers.[Phone Number]‎

אופרטור

פועל או תואר הפועל

מילת מפתח המייצגת פעולה או משנה פעולה.

AS

קבוע

שם עצם

ערך שאינו משתנה, כגון מספר או NULL.

42

ביטוי

שם תואר

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

‎>= Products.[Unit Price]‎

לראש הדף

פסוקיות SQL בסיסיות: SELECT, ‏FROM ו- WHERE

משפט SQL נראה בערך כך:

SELECT field_1
FROM table_1
WHERE criterion_1
;

הערות: 

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

  • כל משפט SELECT מסתיים בתו נקודה-פסיק (;). תו הנקודה-פסיק יכול להופיע בסוף הפסוקית האחרונה או בשורה משלו בסוף משפט ה- SQL.

דוגמה ב- Access

להלן הדגמה של משפט SQL עבור שאילתת בחירה פשוטה וכיצד הוא ייראה ב- Access:

כרטיסיית אובייקטים של SQL המציגה משפט SELECT

1. פסוקית SELECT

2. פסוקית FROM

3. פסוקית WHERE

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

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

פסוקית SELECT

SELECT [E-mail Address], Company

זוהי פסוקית SELECT. היא מורכבת מאופרטור (SELECT) שלאחריו שני מזהים ([E-mail Address] ו- Company).

אם מזהה מכיל רווחים או תווים מיוחדים (כגון "E-mail Address"), יש לתחום אותו בסוגריים מרובעים.

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

פסוקית SELECT מופיעה תמיד לפני פסוקית FROM במשפט SELECT.

פסוקית FROM

FROM Contacts

זוהי פסוקית FROM. היא מורכבת מאופרטור (FROM) שלאחריו מזהה (Contacts).

פסוקית FROM אינה מפרטת את השדות שיש לבחור.

פסוקית WHERE

WHERE City="Seattle"

זוהי פסוקית WHERE. היא מורכבת מאופרטור (WHERE) שלאחריו ביטוי (City="Seattle"‎).

הערה: שלא כמו הפסוקיות SELECT ו- FROM, הפסוקית WHERE אינה רכיב נדרש במשפט SELECT.

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

מידע נוסף אודות משפט SELECT

מידע נוסף אודות ה-from

מידע נוסף אודות ה-where

מיון התוצאות: ORDER BY

בדומה ל- Microsoft Office Excel, ‏Access מאפשר לך למיין תוצאות של שאילתות בגליון נתונים. ניתן גם לציין בשאילתה כיצד ברצונך למיין את התוצאות בעת הפעלת השאילתה, באמצעות הפסוקית ORDER BY. אם אתה משתמש בפסוקית ORDER BY, זוהי הפסוקית האחרונה במשפט ה- SQL.

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

לדוגמה, נניח שברצונך למיין את התוצאות תחילה לפי הערך בשדה Company בסדר יורד  — אם ישנן רשומות בעלות אותו ערך עבור Company — ולאחר מכן לפי הערכים בשדה E-mail Address בסדר עולה. פסוקית ORDER BY שלך תיראה בערך כך:

ORDER BY Company DESC, [E-mail Address]

הערה: כברירת מחדל, Access ממיין ערכים בסדר עולה (A-Z, מהקטן ביותר לגדול ביותר). השתמש במילת המפתח DESC כדי למיין ערכים בסדר יורד.

לקבלת מידע נוסף אודות פסוקית ORDER BY, עיין בנושא סדר על-ידי משפט.

לראש הדף

עבודה עם נתונים מסוכמים: GROUP BY ו- HAVING

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

SELECT COUNT([E-mail Address]), Company

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

ציון שדות שאינם נמצאים בשימוש בפונקציית צבירה: הפסוקית GROUP BY

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

פסוקית GROUP BY באה מיד לאחר פסוקית WHERE, או לאחר פסוקית FROM אם אין פסוקית WHERE. פסוקית GROUP BY מפרטת את כל השדות כפי שהם מופיעים בפסוקית SELECT.

למשל, בהמשך לדוגמה הקודמת, אם פסוקית SELECT שלך מחילה פונקציית צבירה על [E-mail Address] אך לא על Company, פסוקית GROUP BY שלך תיראה בערך כך:

GROUP BY Company

לקבלת מידע נוסף אודות פסוקית GROUP BY, עיין בנושא הקבוצה על-ידי משפט.

הגבלת ערכי צבירה באמצעות קריטריונים קבוצה: פסוקית HAVING

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

למשל, נניח שאתה משתמש בפונקציית AVG (המחשבת ערך ממוצע) עם השדה הראשון בפסוקית SELECT שלך:

SELECT COUNT([E-mail Address]), Company

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

HAVING COUNT([E-mail Address])>1

הערה: שאילתה עשויה לכלול פסוקית WHERE ופסוקית HAVING — קריטריונים עבור שדות שאינם נמצאים בשימוש בפונקציית צבירה יופנו לפסוקית WHERE, וקריטריונים עבור שדות שנמצאים בשימוש בפונקציות צבירה יופנו לפסוקית HAVING.

לקבלת מידע נוסף אודות פסוקית HAVING, עיין בנושא פסוקית נתקל.

לראש הדף

שילוב תוצאות שאילתה: UNION

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

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

הערה: עבור שאילתות איחוד, סוגי הנתונים 'מספר' ו'טקסט' תואמים.

בעת שימוש באופרטור UNION, באפשרותך גם לציין אם על תוצאות השאילתה לכלול שורות כפולות, אם קיימות, באמצעות מילת המפתח ALL.

תחביר SQL הבסיסי עבור שאילתת איחוד המשלבת שני משפטי SELECT הוא כדלהלן:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

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

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

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

לראש הדף

מידע נוסף אודות פסוקית SELECT

במשפט SELECT, משפט SELECT פירוט השדות המכילים נתונים שבו ברצונך להשתמש.

השתמש בסוגריים מרובעים כדי לתחום מזהים

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

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

אם משפט SQL שלך כולל שני שדות או יותר בעלי שם זהה, עליך להוסיף את השם של מקור הנתונים של כל שדה לשם השדה בפסוקית SELECT. אותו שם ישמש עבור מקור הנתונים שבו אתה משתמש בפסוקית FROM.

בחירת כל השדות

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

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

למשל, נניח שברצונך לבחור את כל השדות מהטבלה Orders, אך רק את כתובת הדואר האלקטרוני מהטבלה Contacts. פסוקית SELECT שלך עשויה להיראות כך:

SELECT Orders.*, Contacts.[E-mail Address]

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

בחירת ערכים מסוימים

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

SELECT DISTINCT [txtCustomerPhone]

שימוש בשמות חלופיים עבור שדות או ביטויים: מילת המפתח AS

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

SELECT [txtCustPhone] AS [Customer Phone]

הערה: עליך להשתמש בכינוי שדה בעת שימוש בביטוי בפסוקית SELECT.

בחירה באמצעות ביטוי

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

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

ביטוי זה מכיל הפונקציה DatePart ואת שני ארגומנטים — "yyyy" (קבוע), ו- [BirthDate] (מזהה).

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

לראש הדף

מידע נוסף אודות פסוקית FROM

במשפט SELECT, פסוקית FROM מציינת את הטבלאות או השאילתות המכילות את הנתונים שבהם ייעשה שימוש בפסוקית SELECT.

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

FROM tblCustomer

השתמש בסוגריים מרובעים כדי לתחום מזהים

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

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

שימוש בשמות חלופיים עבור מקורות נתונים

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

לדוגמה, אם ברצונך לבחור נתונים משני שדות, אשר השם של שניהם הוא ID, כאשר אחד מהם מגיע מהטבלה tblCustomer והשני מגיע מהטבלה tblOrder, פסוקית SELECT שלך עשויה להיראות כך:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

על-ידי שימוש בכינויי טבלאות בפסוקית FROM, תוכל להפוך את השאילתה לקלה יותר להקלדה. פסוקית FROM שלך, עם כינויי טבלאות, עשויה להיראות כך:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

לאחר מכן תוכל להשתמש בכינויי טבלאות אלה בפסוקית SELECT שלך, כך:

SELECT [C].[ID], [O].[ID]

הערה: בעת שימוש בכינוי טבלה, באפשרותך להפנות אל מקור הנתונים במשפט SQL שלך באמצעות הכינוי או באמצעות השם המלא של מקור הנתונים.

צירוף נתונים קשורים

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

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

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

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

אם ברצונך לצרף את הטבלאות כך שהשאילתה תשלב את הרשומות מהטבלאות, תוך אי-כלילה של רשומות מתוך כל אחת מהטבלאות אם אין רשומה מקבילה בטבלה השניה, פסוקית FROM שלך עשויה להיראות כך (מעבר שורה נוסף פה לצורך קריאות):

FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

ב- Microsoft Office Access, צירופים מתרחשים בפסוקית FROM של משפט SELECT. קיימים שני סוגים של צירופים: צירופים פנימיים וצירופים חיצוניים. הסעיפים הבאים מסבירים שני סוגים אלה של צירופים.

צרופים פנימיים

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

צירוף פנימי כולל את התחביר שלהלן (מעבר שורה נוסף פה לצורך קריאות):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

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

חלק

תיאור

טבלה1, טבלה2

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

field1, field2

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

compopr

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

צרופים חיצוניים

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

צירוף חיצוני כולל את התחביר שלהלן:

מ- table1 [שמאלה | צירוף ימני] table2
על table1.field1compopr table2.field2

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

חלק

תיאור

טבלה1, טבלה2

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

field1, field2

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

compopr

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

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

לראש הדף

מידע נוסף אודות פסוקית WHERE

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

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

קריטריונים

תיאור

‎>25 ו- ‎<50

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

DateDiff ("yyyy", [BirthDate], Date()) > 30

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

Is Null

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

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

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

תחביר הפסוקית WHERE

פסוקית WHERE כוללת את התחביר הבסיסי הבא:

WHERE field = criterion

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

WHERE [LastName]='Bagel'

הערה: אין לך לבסס את הקריטריונים במשפט where שלך על השוויון של ערכים. באפשרותך להשתמש באופרטורים השוואה אחרים, כגון גדול מ (>) או קטן מ (<). לדוגמה, שבו [Price] > 100.

שימוש בפסוקית WHERE לשילוב מקורות נתונים

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

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

למשל, נניח שברצונך להשתמש בנתונים מ- table1 ו- table2, אך רק כאשר הנתונים ב- field1 (שדה טקסט ב- table1) תואמים את הנתונים ב- field2 (שדה מספר ב- table2). פסוקית WHERE שלך תיראה בערך כך:

WHERE field1 LIKE field2

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

לראש הדף

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

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×