זהו מאמר אחד מתוך סדרה של מאמרים בנושא Access SQL. מאמר זה מתאר כיצד לכתוב פסוקית SELECT, ומשתמש בדוגמאות כדי להמחיש טכניקות שונות שבהן תוכל להשתמש כאשר תכתוב פסוקיות כאלה.
למבט כולל על Access SQL, עיין במאמר Access SQL: מושגים בסיסיים, אוצר מילים ותחביר.
במאמר זה
בחירת שדות: הפסוקית SELECT
משפט SELECT מתחיל בדרך כלל בפסוקית SELECT. באפשרותך להשתמש בפסוקית SELECT כדי לציין את שמות השדות שמכילים נתונים שבהם ברצונך להשתמש בשאילתה. באפשרותך גם להשתמש בביטויים במקום שדות או בנוסף להם. באפשרותך גם להשתמש במשפט SELECT אחר כשדה - פעולה זו נקראת שאילתת משנה.
נניח שברצונך לדעת את מספרי הטלפון של הלקוחות שלך. נניח שהשדה שבו מאוחסנים מספרי הטלפון של הלקוחות נקרא txtCustPhone, משפט SELECT ייראה כך:
SELECT [txtCustomerPhone]
באפשרותך לתחום את השם בסוגריים מרובעים. אם השם לא מכיל רווחים או תווים מיוחדים כלשהם (כגון סימני ניקוד), הסוגריים המרובעים הם אופציונליים. אם השם מכיל רווחים או תווים מיוחדים, עליך להשתמש בסוגריים מרובעים.
עצה: שם שמכיל רווחים קל יותר לקריאה ועשוי לחסוך לך זמן בעת עיצוב טפסים ודוחות, אך ייתכן שתמצא את עצמך מקליד יותר כאשר תכתוב משפטי SQL. עליך לשקול עובדה זו כשאתה מעניק שמות לאובייקטים במסד הנתונים של Access.
אם למשפט ה-SQL שלך יש שני שדות או יותר בעלי שם זהה, עליך להוסיף את שם מקור הנתונים של כל שדה לשם השדה בפסוקית SELECT. השתמש בשם מקור נתונים זהה לזה שבו אתה משתמש בפסוקית FROM.
בחירת כל השדות
כאשר ברצונך לכלול את כל השדות ממקור נתונים, אתה יכול לפרט את כל השדות בנפרד בפסוקית SELECT או להשתמש בתו הכללי כוכבית (*). בעת שימוש בכוכבית, כאשר השאילתה מופעלת, Access בודק אילו שדות מקור הנתונים מכיל וכוללת כל השדות הללו בשאילתה. פעולה זו מסייעת להבטיח שהשאילתה תהייה עדכנית במקרה שנוספו שדות חדשים למקור הנתונים.
באפשרותך להשתמש בכוכבית עם מקור נתונים אחד או יותר במשפט SQL. אם אתה משתמש בכוכבית ויש מקורות נתונים מרובים, עליך לכלול את שם מקור הנתונים יחד עם הכוכבית, כך ש- Access יוכל לקבוע מאילו מקורות נתונים יש לכלול את כל השדות.
לדוגמה, נניח שברצונך לבחור את כל השדות מטבלת ההזמנות, אך רק את כתובת הדואר האלקטרוני מטבלת אנשי הקשר. פסוקית 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] (מזהה).
באפשרותך להשתמש בכל ביטוי חוקי כשדה אם הביטוי מפיק ערך יחיד בהינתן ערך קלט יחיד.