Різниця між групами за порядком і порядком від у SQL

Автор: Laura McKinney
Дата Створення: 1 Квітень 2021
Дата Оновлення: 15 Травень 2024
Anonim
sql уроки для начинающих  Join Джоины + пример
Відеоролик: sql уроки для начинающих Join Джоины + пример

Зміст


SQL дозволяє впорядкувати дані, отримані за запитом. У нас є два пункти щодо організації даних, отриманих із запиту, які є групуванням за замовчуванням. Справа, яка відрізняє групу "Порядок" та "Порядок за пунктом", полягає в тому Групувати за пункт використовується, коли ми хочемо застосувати сукупну функцію до більш ніж одного набору кортежів і Сортувати по Стаття використовується, коли ми хочемо сортувати дані, отримані за запитом. Обговоримо деякі відмінності між пунктом «Група за класом» та «Порядок за пунктом» за допомогою таблиці порівняння, показаної нижче.

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівнянняГрупувати заСортувати по
ОсновніGroup By використовується для формування групи з набору кортежів.Order By використовується для впорядкування даних, отриманих у результаті запиту у сортованій формі.
Атрибут Атрибут під функцією «Агрегат» не може бути в групі за застереженнямАтрибути під сукупністю можуть бути в порядку "По замовленню".
ЗемляЗроблено на основі подібності серед значень атрибутів.Зроблено на підставі порядку зростання та порядку зменшення.

Визначення групи за умовою

До одного набору кортежів застосовуються сукупні функції, такі як avg, min, max, sum, count. У випадку, якщо ви хочете застосувати сукупні функції до групи набору кортежів, для цього у нас є група за умовою. Згрупувати за пропозицією групує кортежі, які мають однакове значення атрибута.


Є одне, що потрібно пам’ятати про групу За пунктом, переконайтеся, що атрибут під Групувати за пункт повинен бути відображений у ВИБІРИ пункт але ні під ан сукупна функція. Якщо пункт «За групою» містить атрибут, який знаходиться не в пункті «SELECT», або якщо він знаходиться під пунктом «SELECT», але під функцією «агрегат», запит стає помилковим. Отже, можна сказати, що пункт Group By завжди використовується у співпраці з пунктом SELECT.

Візьмемо приклад, щоб зрозуміти пункт «За групою».

SELECT відділ _ID, avg (заробітна плата) як avg_salary від групи вчителів за відділом_ID.


Видно, що спочатку формується проміжний результат, який згрупував відділи.

Далі сукупна середня функція застосовується до кожної групи відділів, і результат показаний нижче.

Визначення порядку за умовою

Застереження "Порядок" використовується для відображення даних, отриманих за запитом, у відсортованому порядку. Як і група "За застереженням", "Упорядкувати за" також використовується у співпраці з пунктом SELECT. Якщо ви не згадуєте про порядок сортування, пункт «По замовленню» сортує дані у порядку зростання. Ви можете вказати порядку зростання як вх і низхідний порядок як розм.

Давайте розберемося в роботі замовлення за допомогою наступного прикладу. У нас є таблиця вчителя, і я застосую сортування до двох стовпців відділу_Ід та заробітної плати таблиці Вчителя.

Виберіть відділ_ID, заробітну плату з наказу вчителя за відділом_Ід ас., Зар.

Ви можете бачити, що спочатку він упорядковує Департамент _ID у порядку зростання, а потім упорядковує зарплати в цьому ж відділі у порядку зменшення.

  1. Згрупувати за пунктом групує набір кортежів у відношенні, яке знаходиться під пунктом SELECT. З іншого боку, пункт «Порядок за сортуванням» сортує результати запиту у порядку зростання чи зменшення.
  2. Атрибут під функцією агрегату не може бути під груповим пунктом, тоді як атрибут під сукупною функцією може бути там під пунктом "Порядок за".
  3. Групування кортежів здійснюється на основі подібності серед атрибутивних значень кортежів. З іншого боку, упорядкування чи сортування проводиться на основі порядку зростання чи порядку зменшення.

Висновок:

Якщо ви хочете сформувати групу з набору кортежів, тоді ви повинні використовувати пункт «За групою». У випадку, якщо ви хочете впорядкувати дані одного стовпчика або, більше одного стовпця, у наборі кортежів у порядку зростання або зменшення, тоді слід використовувати пункт «За замовчуванням».