פקודת ORDER BY בשפת ה SQL מאפשרת לבצע מיונים בהתאם לצריכנו. במדריך SQL זה נראה כיצד ניתן ליישם את מיונים אלו בצורות שונות (מיון בסדר עולה, מיון בסדר עולה, תתי מיונים)
SELECT > מה אנחנו רוצים להציג FROM > מאיזו טבלה WHERE > על פי איזה תנאי ORDER BY > באיזו צורה הנתונים ימויינו
מיון ראשי
משפט ORDER BY מאפשר לנו למיין את הנתונים שקיבלנו על סמך עמודה נבחרת :
ORDER BY שם_עמודה
כאשר נרצה להציג את העובדים מהטבלה ממויינים לפי השכר שלהם (מהנמוך לגבוה) נכתוב :
ORDER BY salary
כאשר נרצה לשנות את סדר המיון כך שיציג את העובדים מהטבלה ממויינים לפי השכר שלהם מהגבוה לנמוך (Descending) אנו נשתמש במילה השמורה DESC :
ORDER BY salary DESC
מיון משני
ניתן לבצע מיון על סמך יותר מעמודה אחת. כדי לעשות זאת, נכתוב את כל העמודות הרצויות במשפט ORDER BY כאשר פסיק (,) מפריד ביניהן.
לדוגמא, מיון ראשי אשר יתבצע על עמודת מספר מחלקה ומיון משני (שיתבצע בכל מחלקה) על עמודת השכר :
ORDER BY department_id, salary
כמו כן ניתן לשלב את פקודת ה DESC באיזה אופן שנרצה.
לדוגמא, מיון ראשי אשר יתבצע על עמודת מספר מחלקה בסדר יורד ומיון משני (שיתבצע בכל מחלקה) על עמודת השכר בסדר עולה :
ORDER BY department_id DESC, salary
! בלי שנגדיר בצורה מפורשת המיון הדיפולטיבי על עמודה נעשה בסדר עולה (Ascending). ניתן להשתמש במילה השמורה ASC כדי להגדיר מפורשות כי המיון על העמודה יעשה בסדר עולה:
ORDER BY department_id ASC
תחזיר את אותה תוצאה כמו:
ORDER BY department_id
התאמות ל SQL Server
ב SQL Server קיימת יכולת הנקראת TOP-N, באמצעות יכולת זו ניתן להציג את כל N הרשומות אשר עונות על סדר מסויים – לדוגמא, 3 העובדים עם השכר הגבוה ביותר, 5 המוצרים הזולים ביותר, 4 הלקוחות אשר האחרונים אשר הצטרפו לחברה ועוד
הסינטקס לכתיבת הפקודה נראה כך
SELECT TOP n … FROM table_name ORDER BY column
לדוגמא
3 העובדים עם השכר הגבוה ביותר
SELECT TOP 3 last_name , salary FROM employees ORDER BY salary DESC
5 המוצרים הזולים ביותר
SELECT TOP 5 product_name , unit_price FROM products ORDER BY unit_price
4 הלקוחות האחרונים אשר הצטרפו לחברה
SELECT TOP 4 last_name , first_name , join_date FROM customers ORDER BY join_date DESC