מדריך SQL זה מתמקד בפקודת DISTINCT. מדריך זה הינו חלק מרשימת פוסטים הנוגעים לכתיבת שאילתות בסיסיות ב SQL SERVER. כדי להגיע לפוסטים הנוספים ניתן להעזר בקישורים הבאים :
- כיצד ניתן לכתוב פקודות SELECT בסיסיות.
- פעולות מתמטיות על עמודות בטבלה.
- כינויים לעמודות.
- שרשור ערכים מעמודות שונות.
- פקודת DISTINCT.
שימוש בפקודת DISTINCT
פקודתDISTINCT מאפשרת לנו להציג רשימת ערכים ייחודיים בעמודה.
נניח שיש לנו טבלת Suppliers ובה רשימת ספקים מערים שונות: 40 ספקים מת"א, 30 מירושלים ו– 30 מחיפה. התבקשנו להציג את רשימת הערים בהן יושבים הספקים שלנו:
SELECT city FROM suppliers
תוצאה זו תחזיר 100 שורות (כאשר העיר ת"א חוזרת 40 פעמים, ירושלים חוזרת 30 פעמים וחיפה חוזרת 30 פעמים) כאשר אנו רצינו להציג 3 שורות בלבד.
כדי לפתור את בעיה זו אנו נשתמש בפקודת DISTINCT
SELECT DISTINCT שם_עמודה FROM שם_טבלה SELECT DISTINCT city FROM suppliers
התוצאה תראה כך:
CITY ------ Tel Aviv Jerusalem Haifa
פקודת DISTINCT על יותר מעמודה אחת
ניתן אחרי DISTINCT לכתוב יותר מעמודה אחת, פעולה שכזו תביא להצגת שילוב הערכים הייחודי מהעמודות השונות, לדוגמה רשימת תלמידים בכיתה:
טבלת Class
שם פרטי |
שם משפחה |
משה |
לוי |
משה |
לוי |
ירון |
כהן |
ירון |
לוי |
ירון |
כהן |
ניתן לראות כי ישנם 2 תלמידים ששמם הוא משה לוי, 2 תלמידים ששמם הוא ירון כהן ועוד תלמיד ששמו ירון לוי.
v אם נפעיל DISTINCT על השם הפרטי נקבל 2 שורות (משה, ירון).
v אם נפעיל DISTINCT על שם המשפחה נקבל 2 שורות (לוי, כהן).
v אם נפעיל DISTINCT על השם הפרטי ושם המשפחה:
SELECT DISTINCT first_name , last_name FROM class
נקבל 3 תוצאות – משה לוי, ירון כהן, ירון לוי.