arrow

פרק 2 - שליפה ותמרון נתונים

Order by - סדר לפי 

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

למטרה זו ב- SQL קיים אופרטור ORDER BY. באופן כללי דקדוק הפקודה נראה כך:

SELECT column_names 
FROM table
WHERE where_clause [OPTIONAL]
ORDER BY column_name;
		

דוגמא:

נניח שיש לנו טבלה הבאה:

CD Table
BAND_NAME ALBUM_NAME PUBLISHER COST
Big Bad Voodoo Daddy Big Bad Voodoo Daddy BMI 12.99
Levay Smith One Hour Mama Fat Note 13.99
Louis Prima Capitol Collector's Series Capitol 9.99
Indigo Swing Indigo Swing Wet and placket 13.99
Louis Jordan Rock and Roll Mercury 12.99
Louis Jordan Best Of Capitol 10.99

ונרצה לקבל רשימה של אומנים מסודרת לפי א"ב:

SELECT BAND_NAME, COST
FROM CD
ORDER BY BAND_NAME;
		

נקבל את התוצאה הבאה:

BAND_NAME		COST
-------------------------------
Big Bad Voodoo Daddy	12.99
Indigo Swing		13.99
Levay Smith		13.99
Louis Jordan		12.99
Louis Jordan		10.99	
Louis Prima		 9.99
-------------------------------
		

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

SELECT BAND_NAME, COST
FROM CD
ORDER BY 1;
		

כמובן שאפשר לסדר לפי כמה עמודות, בתנאי שמציינים שם עמודה שעל פיה נמיין תחילה, ואחריה מציינים עמודות משניות שעל פיהן ממינים ערכים זהים בעמודה ההתחלתית. למשל, אם נמיין לפי עמודת COST וגם לפי עמודת BAND_NAME את האלבומים של לואיס ג'ורדן, אזי הם יהיו ממוינים גם לפי השם וגם לפי המחיר:

SELECT BAND_NAME, COST
FROM CD
WHERE BAND_NAME LIKE 'Louis%'
ORDER BY BAND_NAME, COST;
		

נקבל את התשובה הבאה, שבה האלבום שמחירו 10.99 מופיע ראשון.

BAND_NAME		COST
-------------------------------
Louis Jordan		10.99
Louis Jordan		12.99	
Louis Prima		9.99
-------------------------------
		

השימוש במילת מפתח DESK יהפוך את סדר המיון. לכן, כדי לקבל דיווח על מחירים הממוינים בסדר יורד נשתמש בקטע קוד הבא:

SELECT BAND_NAME, COST
FROM CD
ORDER BY COST DESC;
		

נקבל:

BAND_NAME		COST
-------------------------------
Levay Smith		13.99
Indigo Swing		13.99
Big Bad Voodoo Daddy	12.99
Louis Jordan		12.99
Louis Jordan		10.99
Louis Prima		9.99
-------------------------------
		


arrow Null
תוכן עניינים
ביצוע חישובים מתמטיים arrow


פרק 1 -> פרק 2 -> פרק 3 -> פרק 4 -> פרק 5 ->