هنگامی که داده ها را از یک جدول پرس و جو می کنید ، عبارت SELECT ردیف ها را به ترتیب نامشخص باز می گرداند. برای مرتب کردن ردیف های مجموعه نتیجه ، از بند سفارش در عبارت SELECT استفاده می کنید.
بند به ترتیب به شما امکان می دهد ردیف های برگشتی را با یک بند انتخاب شده در سفارش صعودی یا نزولی بر اساس یک بیان مرتب مرتب کنید.
موارد زیر نحو سفارش را بر اساس بند نشان می دهد:
انتخاب کنیدselect_listاز جانبجدول_ نامسفارش BYsort_expression1 [باسن | نزول] ،. sort_expressio [باسن | نزول];
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)
- ابتدا یک عبارت مرتب را مشخص کنید ، که می تواند یک ستون یا یک عبارت باشد ، که می خواهید پس از سفارش توسط کلمات کلیدی مرتب شوید. اگر می خواهید نتیجه مجموعه را بر اساس چندین ستون یا عبارات مرتب کنید ، برای جدا کردن آنها باید کاما (،) را بین دو ستون یا عبارات قرار دهید.
- دوم ، شما از گزینه ASC برای مرتب کردن ردیف ها به ترتیب صعودی و گزینه DESC برای مرتب کردن ردیف ها به ترتیب نزولی استفاده می کنید. اگر گزینه ASC یا DESC را حذف کنید ، سفارش توسط ASC به طور پیش فرض استفاده می کند.
PostgreSQL بندهای موجود در آمار انتخاب را به ترتیب زیر ارزیابی می کند: از ، انتخاب و سفارش توسط:

با توجه به ترتیب ارزیابی ، اگر در بند انتخابی یک ستون نام مستعار دارید ، می توانید از آن در بند به ترتیب استفاده کنید.
بیایید چند نمونه از استفاده از سفارش PostgreSQL را به صورت بند بیان کنیم.
سفارش postgresql توسط مثال
ما از جدول مشتری در پایگاه داده نمونه برای تظاهرات استفاده خواهیم کرد.

1) با استفاده از سفارش postgresql به صورت بند برای مرتب کردن ردیف ها توسط یک ستون
پرس و جو زیر از بند سفارش برای مرتب سازی مشتریان بر اساس نام های اول خود به ترتیب صعودی استفاده می کند:
انتخاب کنیدfirst_name ، last_nameاز جانبمشتریسفارش BYنام کوچکباسن;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

از آنجا که گزینه ASC به طور پیش فرض است ، می توانید آن را در بند به صورت بند مانند این حذف کنید:
انتخاب کنیدfirst_name ، last_nameاز جانبمشتریسفارش BYنام کوچک؛
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)
2) با استفاده از سفارش postgreSQL به صورت بند برای مرتب کردن ردیف ها توسط یک ستون به ترتیب نزولی
بیانیه زیر نام و نام خانوادگی را از جدول مشتری انتخاب می کند و ردیف ها را بر اساس مقادیر موجود در ستون نام خانوادگی به ترتیب نزولی مرتب می کند:
انتخاب کنیدfirst_name ، last_nameاز جانبمشتریسفارش BYنام خانوادگینزول;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

3) با استفاده از سفارش postgresql به صورت بند برای مرتب کردن ردیف ها بر روی ستون های مختلف
بیانیه زیر نام و نام خانوادگی را از جدول مشتری انتخاب می کند و ردیف ها را با نام اول به ترتیب صعودی و نام خانوادگی به ترتیب نزولی مرتب می کند:
انتخاب کنیدfirst_name ، last_nameاز جانبمشتریسفارش BYنام کوچکباسن، نام خانوادگینزول;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

در این مثال ، ترتیب بند توسط مقادیر در ستون نام اول ردیف ها را مرتب می کند. و سپس ردیف های مرتب شده را بر اساس مقادیر در ستون نام خانوادگی مرتب می کند.
همانطور که به وضوح از خروجی مشاهده می کنید ، دو مشتری با همان نام کلی که Kelly نام خانوادگی را به ترتیب نزولی مرتب کرده اند.
4) استفاده از سفارش postgreSQL به صورت بند برای مرتب سازی ردیف ها بر اساس عبارات
عملکرد طول () یک رشته را می پذیرد و طول آن رشته را برمی گرداند.
عبارت زیر نام های اول و طول آنها را انتخاب می کند. این ردیف ها را با طول نام های اول مرتب می کند:
انتخاب کنیدنام کوچک،طول(نام کوچک)لن از جانبمشتریسفارش BY لن نزول;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

از آنجا که بند توسط بند پس از بند انتخاب ارزیابی می شود ، ستون alias len در دسترس است و می تواند در بند توسط بند استفاده شود.
سفارش postgresql بر اساس بند و تهی
در دنیای پایگاه داده ، NULL نشانگر است که نشان دهنده داده های گمشده یا داده ها در زمان ضبط ناشناخته است.
هنگامی که ردیف هایی را که حاوی تهی است مرتب می کنید ، می توانید با استفاده از NULLS First یا Nulls آخرین گزینه سفارش توسط بند ، ترتیب تهی را با سایر مقادیر غیر تهی مشخص کنید:
سفارش BY sort_expression [ASC |DESC] [تهی اول |NULLS LAST]
زبان کد: CSS (CSS)
گزینه Nulls First NULL را قبل از سایر مقادیر غیر تهی و گزینه Null Last NULL پس از سایر مقادیر غیر تهی قرار می دهد.
بیایید یک جدول برای تظاهرات ایجاد کنیم.
- یک جدول جدید ایجاد کنید ايجاد كردن جدولsort_demo (حدود در نظر گرفتن ); - برخی از داده ها را وارد کنید درج کردن بهsort_demo (حدود) ارزش های(1),(2),(3),(خالی);
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)
توجه داشته باشید که نیازی به درک جدول ایجاد و درج بیانیه ها ندارید. شما فقط باید آن را از PGADMIN یا PSQL اجرا کنید تا جدول sort_demo ایجاد کنید و داده ها را در آن وارد کنید.
پرس و جو زیر داده ها را از جدول sort_demo برمی گرداند:
انتخاب کنید حدود از جانبsort_demoسفارش BY حدود;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

در این مثال ، ترتیب توسط بند مقادیر در ستون NUM جدول SORT_DEMO به ترتیب صعودی را مرتب می کند. پس از مقادیر دیگر تهی می کند.
بنابراین اگر از گزینه ASC استفاده می کنید ، Order by Blause به طور پیش فرض از گزینه Nulls Last استفاده می کند. بنابراین ، پرس و جو زیر همان نتیجه را برمی گرداند:
انتخاب کنید حدود از جانبsort_demoسفارش BY حدود نقص آخر;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)
برای قرار دادن NULL قبل از سایر مقادیر غیر تهی ، از گزینه اول Nulls استفاده می کنید:
انتخاب کنید حدود از جانبsort_demoسفارش BY حدود نقص اولین;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

عبارت زیر مقادیر در ستون NUM جدول SORT_DEMO را به ترتیب نزولی مرتب می کند:
انتخاب کنید حدود از جانبsort_demoسفارش BY حدود نزول;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

همانطور که به وضوح از خروجی مشاهده می کنید ، بند توسط Order by Bar با گزینه DESC ابتدا به طور پیش فرض از NULLS استفاده می کند.
برای معکوس کردن سفارش ، می توانید از گزینه Nulls Last استفاده کنید:
انتخاب کنید حدود از جانبsort_demoسفارش BY حدود نزول نقص آخر;
زبان کد: SQL (زبان پرس و جو ساختاری) (SQL)

خلاصه
- برای مرتب کردن ردیف ها از بند سفارش در عبارت SELECT استفاده کنید.
- برای مرتب کردن ردیف ها به ترتیب نزولی از گزینه ASC برای مرتب کردن ردیف ها به ترتیب صعودی و DESC استفاده کنید. بند توسط بند به طور پیش فرض از گزینه ASC استفاده می کند.
- برای مشخص کردن صریح ترتیب NULL با سایر مقادیر غیر تهی ، از NULLS First و NULL استفاده کنید.
فارکس بازار مدرن...
ما را در سایت فارکس بازار مدرن دنبال می کنید
برچسب :
نویسنده : امین زندگانی
بازدید : <-PostHit->
تاريخ : چهارشنبه
15 شهريور
1402 ساعت: 7:35