עריכת משפטי SQL לחידוד התוצאות של שאילתה

חל על
Access של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

במאמר זה

יצירת משפט Select

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

הערה

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

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

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

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

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

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

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

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

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

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

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

מונח SQL הגדרה דוגמה
מזהה שם שבו תשתמש לזיהוי אובייקט מסד נתונים, כגון שם העמודה. [כתובת דואר אלקטרוני] וחברה
אופרטור מילת מפתח המייצגת פעולה או משנה פעולה. AS
קבוע ערך שאינו משתנה, כגון מספר או NULL. 42
ביטוי שילוב של מזהים, אופרטורים, קבועים ופונקציות שתוצאתם היא ערך יחיד. >= מוצרים. [מחיר ליחידה]

לראש הדף

התאמה אישית של פסוקית SELECT

התאמה אישית דוגמה
כדי לראות רק את הערכים הייחודיים.
השתמש במילת המפתח DISTINCT בפסוקית SELECT.
לדוגמה, אם הלקוחות שלך מגיעים מכמה סניפים שונים, ולחלקם יש את אותו מספר טלפון וברצונך לראות מספר טלפון רשום פעם אחת בלבד, משפט SELECT יהיה כך:SELECT DISTINCT [txtCustomerPhone]
כדי לשנות את האופן שבו מזהה מופיע בתצוגת גליון נתונים לצורך שיפור הקריאות.
השתמש באופרטור AS (מילת מפתח המייצגת פעולה או משנה פעולה) עם כינוי שדה בפסוקית SELECT. כינוי שדה הוא שם שאתה מקצה לשדה כדי להקל על קריאת התוצאות.
בחר [txtCustPhone] AS [טלפון לקוח]

התאמה אישית של פסוקית FROM

התאמה אישית דוגמה
באפשרותך להשתמש בכינוי טבלה או בשם אחר שאתה מקצה לטבלה במשפט select. כינוי טבלה שימושי אם השם של שם הטבלה ארוך, במיוחד כשיש לך שדות מרובים בעלי שם זהה בטבלאות שונות. כדי לבחור נתונים משני השדות, ששניהם נקראים 'מזהה', אחד מהם מגיע מהטבלה tblCustomer והשני מגיע מהטבלה tblOrder:
בחר [tblCustomer]. [מזהה],
[tblOrder]. [תעודת זהות]
השתמש באופרטור AS להגדרת כינויי טבלה בפסוקית FROM:
FROM [tblCustomer] AS [C],
[tblOrder] AS [O]
לאחר מכן תוכל להשתמש בכינויי טבלאות אלה במשפט SELECT, באופן הבא:SELECT [C]. [מזהה],
[O]. [תעודת זהות]
השתמש בצירופים כדי לשלב זוגות של רשומות משני מקורות נתונים לתוצאה בודדת, או כדי לציין אם לכלול רשומות מאחת הטבלאות כאשר אין רשומה תואמת בטבלה המקושרת.
צרף את הטבלאות כך שהשאילתה תשלב את הפריטים מהטבלאות ולא תכלול פריטים כאשר אין רשומה תואמת בטבלה האחרת
כך עשוי להיראות הפסוקית FROM:FROM [tblCustomer]
INNER JOIN [tblOrder]
ON [tblCustomer]. [CustomerID]=[tblOrder]. [מזהה לקוח]

אודות שימוש בצירופים

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

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

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

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

לראש הדף

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

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

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

WHERE [LastName]='Bagel'

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

WHERE field1 LIKE field2

חשוב

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

לראש הדף

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

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

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer 
FROM Services;

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

הערה

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

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

לראש הדף