Access SQL: מושגים בסיסיים, אוצר מילים ותחביר

Access SQL: מושגים בסיסיים, אוצר מילים ותחביר

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

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

זהו מאמר אחד מתוך סדרה של מאמרים בנושא Access SQL. מאמר זה מתאר את השימוש הבסיסי ב-SQL כדי לבחור נתונים ומשתמש בדוגמאות להמחשה של תחביר SQL.

במאמר זה

מהו SQL?

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

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

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

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

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

בחירת משפטים

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

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

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

  • השדות או החישובים שייצרו את הנתונים.

  • קריטריונים שיש להתאים לנתונים שייכללו.

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

משפטי SQL

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

משפט SQL

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

נדרש

SELECT

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

כן

FROM

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

כן

WHERE

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

לא

סדר לפי

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

לא

GROUP BY

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

רק אם יש שדות כגון

HAVING

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

לא

מונחי SQL

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

מונח SQL

חלק הדומה של הדיבור

הגדרה

דוגמה

מזהה

שם עצם

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

לקוחות. [מספר טלפון]

אופרטור

פועל או הפועל

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

AS

קבוע

שם עצם

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

42

ביטוי

שם תואר

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

>= Products. [Unit Price]

לראש הדף

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

משפט 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 שנקראת "בחר את הנתונים המאוחסנים בשדות שנקראים כתובת דואר אלקטרוני וחברה מהטבלה שנקראת ' אנשי קשר ', במיוחד רשומות אלה שבהן הערך של עיר השדה הוא סיאטל.

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

משפט SELECT

SELECT [E-mail Address], Company

זהו משפט SELECT. הוא מורכב מאופרטור (בחירה) ואחריו שני מזהים ([כתובת דואר אלקטרוני] וחברה).

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

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

משפט SELECT מופיע תמיד מול משפט FROM במשפט SELECT.

משפט FROM

FROM Contacts

זוהי המשפט FROM. הוא מורכב מאופרטור (מ) ואחריו מזהה (אנשי קשר).

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

פסוקית WHERE

WHERE City="Seattle"

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

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

באפשרותך לבצע פעולות רבות שבהן SQL מאפשר לך לבצע באמצעות משפטי SELECT, FROM ו-WHERE. מידע נוסף אודות האופן שבו אתה משתמש במשפטים אלה מוצג במאמרים נוספים אלה:

לראש הדף

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

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

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

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

ORDER BY Company DESC, [E-mail Address]

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

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

לראש הדף

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

לפעמים ברצונך לעבוד עם נתונים מסוכמים, כגון סך כל המכירות בחודש, או הפריטים היקרים ביותר במלאי. לשם כך, עליך להחיל פונקציית צבירה על שדה במשפט 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 שלך מחילה פונקציית צבירה על [כתובת דואר אלקטרוני] אך לא לחברה, המשפט GROUP BY שלך היה דומה לפעולות הבאות:

GROUP BY Company

לקבלת מידע נוסף אודות המשפט GROUP BY, עיין בפסוקית 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, עיין בנושא הפסוקית having.

לראש הדף

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

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

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

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

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

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

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

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

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

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

לראש הדף

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

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

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

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

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

×