מציין רשומות שנבחרו באמצעות שאילתות SQL.
תחביר
SELECT [ALL | ייחודית | DISTINCTROW | [TOP n [PERCENT]]]
טבלת FROMמשפט SELECT המכיל את הקידומות הבאות כולל את החלקים הבאים:
חלק |
תיאור |
ALL |
נניח שאם לא תכלול אחד מההתחומות. מנגנון מסד הנתונים של Microsoft Access בוחר את כל הרשומות המקיימות את התנאים במשפט SQL. שתי הדוגמאות הבאות שוות ערך ומחזירות את כל הרשומות מהטבלה Employees:
|
DISTINCT |
השמטת רשומות המכילות נתונים כפולים בשדות שנבחרו. כדי להיכלל בתוצאות השאילתה, הערכים עבור כל שדה המפורט במשפט SELECT חייבים להיות ייחודיים. לדוגמה, לכמה עובדים המפורטים בטבלה 'עובדים' עשוי להיות שם משפחה זהה. אם שתי רשומות מכילות 'כהן' בשדה LastName, משפט ה- SQL הבא מחזיר רשומה אחת בלבד המכילה את 'כהן':
אם השמטת DISTINCT, שאילתה זו מחזירה את שתי הרשומות Smith. אם משפט SELECT מכיל יותר משדה אחד, שילוב הערכים מכל השדות חייב להיות ייחודי כדי שהרשומות הנתונה ייכללו בתוצאות. הפלט של שאילתה המשתמשת ב- DISTINCT אינו ניתן לעדכון והוא אינו משקף את השינויים הבאים שבוצעו על-ידי משתמשים אחרים. |
DISTINCTROW |
השמטת נתונים בהתבסס על רשומות כפולות שלמות, ולא רק שדות כפולים. לדוגמה, באפשרותך ליצור שאילתה שמצטרף לטבלאות Customers ו- Orders בשדה CustomerID. הטבלה Customers אינה מכילה שדות CustomerID כפולים, אך הטבלה Orders מכילה זאת מאחר שכל לקוח יכול לקבל הזמנות רבות. משפט ה- SQL הבא מראה כיצד ניתן להשתמש ב- DISTINCTROW כדי להפיק רשימה של חברות עם הזמנה אחת לפחות, אך ללא פרטים על הזמנות אלה:
אם אתה משמיט את DISTINCTROW, שאילתה זו מפיקה שורות מרובות עבור כל חברה המכילה יותר מפקודה אחת. ל- DISTINCTROW יש השפעה רק בעת בחירת שדות מטבלאות מסוימות, אך לא כולן, המשמשות בשאילתה. הפונקציה מתעלמת מ- DISTINCTROW אם השאילתה שלך כוללת טבלה אחת בלבד, או אם אתה יוצר פלט של שדות מכל הטבלאות. |
TOP n [PERCENT] |
החזרת מספר מסוים של רשומות הקיימות בחלק העליון או התחתון של טווח שצוין על-ידי משפט ORDER BY. נניח שאתה מעוניין בשמות של 25 התלמידים המובילים מהכיתה של 1994:
אם לא תכלול את המשפט ORDER BY, השאילתה תחזיר ערכה שרירותית של 25 רשומות מהטבלה 'תלמידים' הממלאת את משפט WHERE. ה- TOP Predicate אינו בוחר בין ערכים שווים. בדוגמה הקודמת, אם ממוצעי הציונים בציון ה- 25 וה-26 בגודלם זהים, השאילתה תחזיר 26 רשומות. באפשרותך גם להשתמש במילה השמורה PERCENT כדי להחזיר אחוז מסוים של רשומות שמופיעות בחלק העליון או התחתון של טווח שצוין על-ידי משפט ORDER BY. נניח שב במקום 25 התלמידים המובילים, אתה מעוניין ב- 10 האחוזים למטה מהכיתה:
הפרדיקאט ASC מציין החזרה של ערכים תחתונים. הערך שמופיע אחרי TOP חייב להיות מספר שלם לא רשום. TOP אינה משפיעה על האפשרות שהשאילתה ניתנת לעדכון או לא. |
table |
שם הטבלה שממנה מאחזרים רשומות. |