- ORDER BY הוא משפט ב-SQL המשמש עם שאילתת SELECT כדי להביא את הרשומות בסדר עולה או יורד מטבלה.
- בדיוק כמו שאנו ממיינים את המספר השלם ואת ערכי המחרוזת המאוחסנים בעמודת הטבלאות, באופן דומה, אנו יכולים למיין את התאריכים המאוחסנים בעמודה של טבלת SQL.
- כל הרשומות ימוינו, כברירת מחדל, בסדר עולה. כדי למיין את הרשומות בסדר יורד, נעשה שימוש במילת המפתח DESC.
הבה נראה כמה דוגמאות מעשיות כדי להבין את המושג הזה בצורה ברורה יותר. נשתמש במסד הנתונים של MySQL לכתיבת כל השאילתות.
קחו בחשבון שיצרנו טבלה בשם עובדים במסד הנתונים של MySQL עם הנתונים הבאים:
תְעוּדַת זֶהוּת | שֵׁם | שכר | תאריך_הצטרפות | DOB |
---|---|---|---|---|
1 | רוהיט עוד | 50000 | 2020-02-08 | 28-01-1991 18:06:08 |
2 | קונל מוהיט | 34000 | 2021-01-01 | 15-05-1990 19:10:00 |
3 | סאורבה ג'ה | 61000 | 2015-05-01 | 20-02-1983 12:18:45 |
4 | עננט דסאי | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
5 | קרישנה שארמה | 48000 | 2010-10-23 | 21-03-1999 02:14:56 |
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 02-08-1998 13:00:01 |
דוגמה 1:
כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר עולה של תאריך הלידה שלהם.
שאילתא:
mysql> SELECT *FROM employees ORDER BY DOB;
מכיוון שרצינו למיין את הרשומות בסדר עולה של תאריך הלידה של העובדים, אז החלנו את סעיף ה-ORDER BY בעמודה 'DOB'.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | תאריך_הצטרפות | DOB |
---|---|---|---|---|
4 | עננט דסאי | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
3 | סאורבה ג'ה | 61000 | 2015-05-01 | 20-02-1983 12:18:45 |
2 | קונל מוהיט | 34000 | 2021-01-01 | 15-05-1990 19:10:00 |
1 | רוהיט עוד | 50000 | 2020-02-08 | 28-01-1991 18:06:08 |
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 02-08-1998 13:00:01 |
5 | קרישנה שארמה | 48000 | 2010-10-23 | 21-03-1999 02:14:56 |
התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של ה-DOB.
דוגמה 2:
כתוב שאילתה כדי להציג את כל הפרטים של העובדים מסודרים בסדר יורד של תאריכי ההצטרפות שלהם.
שאילתא:
mysql> SELECT *FROM employees ORDER BY Joining_Date DESC;
מכיוון שרצינו למיין את הרשומות בסדר יורד של תאריך ההצטרפות של עובדים, אז החלמנו את הסעיף ORDER BY עם מילת המפתח DESC בעמודה 'תאריך הצטרפות'.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | תאריך_הצטרפות | DOB |
---|---|---|---|---|
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 02-08-1998 13:00:01 |
2 | קונל מוהיט | 34000 | 2021-01-01 | 15-05-1990 19:10:00 |
1 | רוהיט עוד | 50000 | 2020-02-08 | 28-01-1991 18:06:08 |
4 | עננט דסאי | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
3 | סאורבה ג'ה | 61000 | 2015-05-01 | 20-02-1983 12:18:45 |
5 | קרישנה שארמה | 48000 | 2010-10-23 | 21-03-1999 02:14:56 |
התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר היורד של תאריכי ההצטרפות.
דוגמה 3:
כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר עולה של שנת הלידה שלהם.
שאילתא:
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%Y') AS Year_of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%Y');
מכיוון שרצינו למיין את הרשומות בסדר עולה של שנת הלידה של העובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה DATE_FORMAT () מוחלת על העמודה DOB עם הפרמטר '%Y' כדי לחלץ רק את השנה מ-'DOB'.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | תאריך_הצטרפות | שנת לידה |
---|---|---|---|---|
4 | עננט דסאי | 59000 | 27-08-2018 | 1978 |
3 | סאורבה ג'ה | 61000 | 2015-05-01 | 1983 |
2 | קונל מוהיט | 34000 | 2021-01-01 | 1990 |
1 | רוהיט עוד | 50000 | 2020-02-08 | 1991 |
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 1998 |
5 | קרישנה שארמה | 48000 | 2010-10-23 | 1999 |
התוצאות שהתקבלו מהשאילתה לעיל מראות שהרישומים מוצגים לפי הסדר העולה של שנת הלידה של העובד.
דוגמה 4:
מיון מערכי java
כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר יורד של שעת הלידה שלהם.
שאילתא:
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%H') AS Hour_Of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%H') DESC;
מכיוון שרצינו למיין את הרשומות בסדר יורד של שעת הלידה של עובדים, אז החלמנו את הסעיף ORDER BY עם מילת המפתח DESC. הפונקציה DATE_FORMAT () מופעלת על העמודה DOB עם הפרמטר '%H' כדי לחלץ רק את שעת הלידה מהעמודה 'DOB'.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | תאריך_הצטרפות | שעת_לידה |
---|---|---|---|---|
2 | קונל מוהיט | 34000 | 2021-01-01 | 19 |
1 | רוהיט עוד | 50000 | 2020-02-08 | 18 |
4 | עננט דסאי | 59000 | 27-08-2018 | חֲמֵשׁ עֶשׂרֵה |
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 13 |
3 | סאורבה ג'ה | 61000 | 2015-05-01 | 12 |
5 | קרישנה שארמה | 48000 | 2010-10-23 | 02 |
התוצאות שהתקבלו מהשאילתה לעיל מלמדות כי הרישומים מוצגים לפי הסדר היורד של שעת הלידה של העובד.
דוגמה 5:
כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר עולה של שנת הצטרפותם.
שאילתא:
mysql> SELECT ID, Name, Salary, DOB, DATE_FORMAT (Joining_Date, '%Y') AS Year_Of_Joining FROM employees ORDER BY DATE_FORMAT (Joining_Date, '%Y');
מכיוון שרצינו למיין את הרשומות בסדר עולה של שנת ההצטרפות של עובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה DATE_FORMAT () מוחלת על העמודה Joining_Date עם הפרמטר '%Y' כדי לחלץ רק את השנה מ-'Joining_Date'.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | שנת_הצטרפות | DOB |
---|---|---|---|---|
5 | קרישנה שארמה | 48000 | 2010 | 21-03-1999 02:14:56 |
3 | סאורבה ג'ה | 61000 | 2015 | 20-02-1983 12:18:45 |
4 | עננט דסאי | 59000 | 2018 | 29-06-1978 15:45:13 |
1 | רוהיט עוד | 50000 | 2020 | 28-01-1991 18:06:08 |
2 | קונל מוהיט | 34000 | 2021 | 15-05-1990 19:10:00 |
6 | בהבש ג'יין | 37,000 | 2021 | 02-08-1998 13:00:01 |
התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של שנת ההצטרפות של העובדים.
דוגמה 6:
כתוב שאילתה להצגת כל הפרטים של העובדים המסודרים בסדר יורד של יום ההצטרפות של העובדים.
שאילתא:
mysql> SELECT ID, Name, Salary, DAY (Joining_Date) AS Day_Of_Joining, DOB FROM employees ORDER BY DAY (Joining_Date) DESC;
מכיוון שרצינו למיין את הרשומות בסדר יורד של יום ההצטרפות של עובדים, אז הפעלנו את סעיף ORDER BY עם מילת המפתח DESC. הפונקציה DAY () מופעלת בעמודה 'תאריך_הצטרפות' כדי לחלץ רק את יום ההצטרפות מתאריך_הצטרפות.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | יום_ההצטרפות | DOB |
---|---|---|---|---|
4 | עננט דסאי | 59000 | 27 | 29-06-1978 15:45:13 |
5 | קרישנה שארמה | 48000 | 23 | 21-03-1999 02:14:56 |
1 | רוהיט עוד | 50000 | 8 | 28-01-1991 18:06:08 |
6 | בהבש ג'יין | 37,000 | 3 | 02-08-1998 13:00:01 |
2 | קונל מוהיט | 34000 | 1 | 15-05-1990 19:10:00 |
3 | סאורבה ג'ה | 61000 | 1 | 20-02-1983 12:18:45 |
התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר היורד של יום ההצטרפות של העובדים.
דוגמה 7:
כתוב שאילתה להצגת כל הפרטים של העובדים המסודרים בסדר עולה של יום הולדת העובדים.
שאילתא:
mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB);
מכיוון שרצינו למיין את הרשומות בסדר עולה של יום הלידה של העובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה DAY () מופעלת בעמודה 'DOB' כדי לחלץ רק את יום הלידה מ-DOB.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | שנת_הצטרפות | יום ההולדת |
---|---|---|---|---|
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 2 |
2 | קונל מוהיט | 34000 | 2021-01-01 | חֲמֵשׁ עֶשׂרֵה |
3 | Saurabh Jha | 61000 | 2015-05-01 | עשרים |
5 | קרישנה שארמה | 48000 | 2010-10-23 | עשרים ואחת |
1 | רוהיט עוד | 50000 | 2020-02-08 | 28 |
4 | עננט דסאי | 59000 | 27-08-2018 | 29 |
התוצאות שהתקבלו מהשאילתה לעיל מלמדות כי הרישומים מוצגים לפי הסדר העולה של יום הלידה של העובד.
פולימורפיזם בג'אווה
דוגמה 8:
כתוב שאילתה להצגת כל פרטי העובדים המסודרים בסדר עולה של חודש הלידה של העובד.
שאילתא:
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB);
תְעוּדַת זֶהוּת | שֵׁם | שכר | תאריך_הצטרפות | DOB |
---|---|---|---|---|
1 | רוהיט עוד | 50000 | 2020-02-08 | 28-01-1991 18:06:08 |
3 | סאורבה ג'ה | 61000 | 2015-05-01 | 20-02-1983 12:18:45 |
5 | קרישנה שארמה | 48000 | 2010-10-23 | 21-03-1999 02:14:56 |
2 | קונל מוהיט | 34000 | 2021-01-01 | 15-05-1990 19:10:00 |
4 | עננט דסאי | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 02-08-1998 13:00:01 |
התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של חודש הלידה של העובד.
דוגמה 9:
כתוב שאילתה להצגת כל פרטי העובדים המסודרים בסדר עולה של חודש ההצטרפות של העובד.
שאילתא:
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date);
מכיוון שרצינו למיין את הרשומות בסדר עולה של חודש ההצטרפות של עובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה MONTH () מופעלת בעמודה 'תאריך_הצטרפות' כדי לחלץ רק את חודש ההצטרפות מתאריך_הצטרפות.
תקבל את הפלט הבא:
תְעוּדַת זֶהוּת | שֵׁם | שכר | תאריך_הצטרפות | DOB |
---|---|---|---|---|
2 | קונל מוהיט | 34000 | 2021-01-01 | 15-05-1990 19:10:00 |
1 | רוהיט עוד | 50000 | 2020-02-08 | 28-01-1991 18:06:08 |
3 | סאורבה ג'ה | 61000 | 2015-05-01 | 20-02-1983 12:18:45 |
6 | בהבש ג'יין | 37,000 | 2021-07-03 | 02-08-1998 13:00:01 |
4 | עננט דסאי | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
5 | קרישנה שארמה | 48000 | 2010-10-23 | 21-03-1999 02:14:56 |
התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של חודש ההצטרפות של העובד.