fbpx

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


שימוש בפקודת 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 תוצאות משה לוי, ירון כהן, ירון לוי.