עריכת משפטי SQL לחידוד התוצאות של שאילתה
Applies ToAccess של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

הערה:  מאמר זה אינו חל על יישומי אינטרנט של Access – סוג מסדי הנתונים שאתה מעצב באמצעות Access ומפרסם באינטרנט.

במאמר זה

יצירת משפט Select

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

הערה:  משפטי SELECT מסתיימות תמיד בנקודה-פסיק (;) בסוף המשפט האחרון או בשורה בפני עצמה בסוף משפט ה- SQL.

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

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

השאילתה לעיל כוללת שלושה משפטים SELECT, FROM ו- WHERE.

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

2. משפט FROM מזהה את טבלת המקור. בדוגמה זו, יש לו אופרטור (FROM) ואחריו מזהה (אנשי קשר).

3. משפט WHERE הוא פסוקית אופציונלית. הדוגמה כוללת אופרטור (WHERE) ואחריו ביטוי (City="Seattle").

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

להלן רשימה של משפטי SQL נפוצים:

משפט SQL

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

נדרשת.כן -?

SELECT

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

כן

FROM

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

כן

WHERE

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

לא

סדר לפי

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

לא

GROUP BY

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

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

HAVING

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

לא

כל משפט SQL מורכב מתנאים. להלן רשימה של כמה מונחי SQL נפוצים.

מונח SQL

הגדרה

דוגמה

המזהה

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

[כתובת דואר אלקטרוני] ו'חברה'

אופרטור

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

AS

קבוע

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

42

ביטוי

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

>= Products. [מחיר יחידה]

לראש הדף

התאמה אישית של משפט SELECT

התאמה אישית

דוגמה

כדי לראות רק את הערכים הייחודיים.

השתמש במילת המפתח DISTINCT במשפט SELECT.

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

SELECT DISTINCT [txtCustomerPhone] 

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

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

SELECT [txtCustPhone] AS [Customer Phone]

התאמה אישית של משפט FROM

התאמה אישית

דוגמה

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

כדי לבחור נתונים משני שדות, שני השדות בשם ID, אחד מהם מגיע מהטבלה tblCustomer והשני מהטבלה tblOrder:

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

השתמש באופרטור AS להגדרת כינויי טבלה במשפט FROM:

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

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

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

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

צירוף הטבלאות כך שהשאילתה משלבת את הפריטים מהטבלאות, ולא כוללת פריטים כאשר אין רשומה תואמת בטבלה האחרת

כך עשויה להיראות פסוקית FROM:

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

אודות השימוש בצירוף

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

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

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

ראה מידע נוסף אודות שימוש בצירוף בשאילתה בצירוף טבלאות ושאילתות.

לראש הדף

התאמה אישית של משפט WHERE

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

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

WHERE [LastName]='Bagel'

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

WHERE field1 LIKE field2

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

לראש הדף

התאמה אישית באמצעות האופרטור UNION

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

SELECT name, price, warranty, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee, exclusive_offer FROM Services;

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

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

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

לראש הדף

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

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

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

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