SQL | Функции (агрегатные и скалярные функции)

Опубликовано: 19 Августа, 2021


Для выполнения операций с данными sql имеет множество встроенных функций, они разделены на две категории и далее разбиты на различные семь функций в каждой категории. Категории:

  1. Агрегатные функции:
    Эти функции используются для выполнения операций со значениями столбца, и возвращается одно значение.
    1. СРЕДНЕЕ ()
    2. СЧИТАТЬ()
    3. ПЕРВЫЙ()
    4. ПОСЛЕДНИЙ()
    5. МАКСИМУМ()
    6. МИН ()
    7. СУММ ()
  2. Скалярные функции:
    Эти функции основаны на вводе данных пользователем, они тоже возвращают одно значение.
    1. UCASE ()
    2. LCASE ()
    3. MID ()
    4. LEN ()
    5. КРУГЛЫЙ()
    6. СЕЙЧАС()
    7. ФОРМАТ()

Студенческий стол

Агрегатные функции

  • AVG () : возвращает среднее значение после вычисления значений в числовом столбце.
    Синтаксис:
     ВЫБРАТЬ СРЕДНЕЕ (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Вычисление средних оценок студентов.
       ВЫБРАТЬ СРЕДНЕЕ (ЗНАЧКИ) В КАЧЕСТВЕ СРЕДНИХ МАРК ОТ студентов 
      

      Выход:

      AvgMarks
      80
    2. Вычисление среднего возраста студентов.
       ВЫБРАТЬ СРЕДНЕЕ (ВОЗРАСТ) КАК СРЕДНЕЕ ОТ студентов; 
      

      Выход:

      Средний возраст
      19,4
  • COUNT (): используется для подсчета количества строк, возвращаемых оператором SELECT. Его нельзя использовать в MS ACCESS.
    Синтаксис:
     ВЫБРАТЬ СЧЕТЧИК (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Подсчет общего количества студентов.
       ВЫБРАТЬ СЧЕТЧИК (*) КАК NumStudents ИЗ Студентов;
      

      Выход:

      NumStudents
      5
    2. Вычисление количества студентов с уникальным / отличным возрастом.
       ВЫБЕРИТЕ КОЛИЧЕСТВО (РАЗЛИЧНЫЙ ВОЗРАСТ) КАК NumStudents ИЗ студентов;
      

      Выход:



      NumStudents
      4
  • FIRST (): функция FIRST () возвращает первое значение выбранного столбца.
    Синтаксис:
     ВЫБРАТЬ ПЕРВЫЙ (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Получение оценок первого ученика из таблицы «Студенты».
       ВЫБЕРИТЕ ПЕРВЫЙ (ЗНАКИ) КАК MarksFirst ИЗ учащихся;
      

      Выход:

      MarksFirst
      90
    2. Получение возраста первого ученика из таблицы «Студенты».
       ВЫБРАТЬ ПЕРВЫЙ (ВОЗРАСТ) КАК AgeFirst ИЗ учащихся;
      

      Выход:

      AgeFirst
      19
  • LAST (): функция LAST () возвращает последнее значение выбранного столбца. Его можно использовать только в MS ACCESS.
    Синтаксис:
     ВЫБРАТЬ ПОСЛЕДНИЙ (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Получение оценок последнего студента из таблицы студентов.
       ВЫБЕРИТЕ ПОСЛЕДНЕЕ (ЗНАЧКИ) КАК MarksLast ОТ студентов;
      

      Выход:

      MarksLast
      82
    2. Получение возраста последнего ученика из таблицы «Студенты».
       ВЫБЕРИТЕ ПОСЛЕДНИЙ (ВОЗРАСТ) КАК AgeLast ИЗ учащихся;
      

      Выход:

      ВозрастПоследний
      18
  • MAX (): функция MAX () возвращает максимальное значение выбранного столбца.
    Синтаксис:
     ВЫБРАТЬ МАКС. (Имя_столбца) ИЗ имя_таблицы;
    

    Запросы :

    1. Получение максимальных оценок среди студентов из таблицы «Студенты».
       ВЫБЕРИТЕ МАКСИМУМ (ЗНАКИ) КАК MaxMarks ОТ студентов;
      

      Выход:

      MaxMarks
      95
    2. Получение максимального возраста студентов из таблицы «Студенты».
       ВЫБЕРИТЕ МАКСИМАЛЬНЫЙ (ВОЗРАСТ) КАК МАКСИМАЛЬНЫЙ ВОЗРАСТ ИЗ учащихся;
      

      Выход:

      MaxAge
      21 год
  • MIN (): функция MIN () возвращает минимальное значение выбранного столбца.
    Синтаксис:
     ВЫБЕРИТЕ МИН (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Получение минимальных оценок студентов из таблицы «Студенты».
       ВЫБЕРИТЕ МИНУТ (ЗНАЧКИ) КАК минимальные отметки студентов;
      

      Выход:

      MinMarks
      50
    2. Получение минимального возраста студентов из таблицы «Студенты».
       ВЫБЕРИТЕ МИН (ВОЗРАСТ) КАК МИН.АЗД ОТ УЧАЩИХСЯ;
      

      Выход:

      MinAge
      18
  • СУММ (): функция СУММ () возвращает сумму всех значений выбранного столбца.
    Синтаксис:
     ВЫБРАТЬ СУММ (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Получение суммы общих оценок студентов из таблицы «Студенты».
       ВЫБЕРИТЕ СУММУ (ЗНАЧКИ) КАК TotalMarks ОТ студентов;
      

      Выход:

      TotalMarks
      400
    2. Получение суммирования общего возраста студентов из таблицы «Студенты».
       ВЫБЕРИТЕ СУММУ (ВОЗРАСТ) КАК ОБЩИЙ ВОЗРАСТ ОТ студентов;
      

      Выход:

      TotalAge
      97

Скалярные функции

  • UCASE () : преобразует значение поля в верхний регистр.
    Синтаксис:
     ВЫБЕРИТЕ UCASE (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Преобразование имен студентов из таблицы «Студенты» в верхний регистр.
       ВЫБЕРИТЕ UCASE (ИМЯ) ОТ студентов;
      

      Выход:

      НАЗВАНИЕ
      ЖЕСТКИЙ
      СЮРЕШ
      ПРАТИК
      ДХАНРАДЖ
      баран
  • LCASE () : преобразует значение поля в нижний регистр.
    Синтаксис:
     ВЫБРАТЬ LCASE (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Преобразование имен студентов из таблицы «Студенты» в нижний регистр.
       ВЫБРАТЬ LCASE (ИМЯ) ИЗ студентов;
      

      Выход:

      НАЗВАНИЕ
      жесткий
      суреш
      прическа
      Дханрадж
      баран
  • MID (): функция MID () извлекает текст из текстового поля.
    Синтаксис:
     ВЫБРАТЬ MID (имя_столбца, начало, длина) КАК some_name FROM table_name;
    
    указание длины здесь необязательно, а начало означает начальную позицию (начиная с 1)
    

    Запросы:

    1. Получение первых четырех символов имен студентов из таблицы «Студенты».
       ВЫБЕРИТЕ MID (ИМЯ, 1,4) ИЗ студентов; 
      

      Выход:

      НАЗВАНИЕ
      HARS
      КОНЕЧНО
      PRAT
      ДХАН
      баран
  • LEN (): функция LEN () возвращает длину значения в текстовом поле.
    Синтаксис:
     ВЫБЕРИТЕ ДЛИНУ (имя_столбца) ИЗ имя_таблицы;
    

    Запросы:

    1. Получение длины имен студентов из таблицы «Студенты».
       ВЫБЕРИТЕ ДЛИНУ (ИМЯ) ИЗ студентов;
      

      Выход:

      НАЗВАНИЕ
      5
      6
      6
      7
      3
  • ОКРУГЛ (): функция ОКРУГЛ () используется для округления числового поля до указанного числа десятичных знаков.ПРИМЕЧАНИЕ: многие системы баз данных приняли стандарт IEEE 754 для арифметических операций, который гласит, что округление любого числового значения 0,5 приводит к до ближайшего четного целого числа, то есть 5,5 и 6,5, оба округляются до 6.

    Синтаксис:

     ВЫБРАТЬ ОКРУГЛ (имя_столбца, десятичные дроби) ИЗ имя_таблицы; 
    
    decimals - количество десятичных знаков, которые нужно выбрать.
    

    Запросы:

    1. Получение максимальных оценок среди студентов из таблицы «Студенты».
       ВЫБРАТЬ КРУГЛЫЙ (ЗНАКИ, 0) ИЗ имя_таблицы; 
      

      Выход:

      МЕТКИ
      90
      50
      80
      95
      85
  • СЕЙЧАС (): функция СЕЙЧАС () возвращает текущую системную дату и время.
    Синтаксис:
     ВЫБРАТЬ СЕЙЧАС () ИЗ имя_таблицы;
    

    Запросы:

    1. Получение текущего системного времени.
       ВЫБЕРИТЕ ИМЯ, СЕЙЧАС () КАК DateTime ОТ студентов; 
      

      Выход:

      НАЗВАНИЕ DateTime
      ЖЕСТКИЙ 13.01.2017 13:30:11
      СЮРЕШ 13.01.2017 13:30:11
      ПРАТИК 13.01.2017 13:30:11
      ДХАНРАДЖ 13.01.2017 13:30:11
      баран 13.01.2017 13:30:11
  • FORMAT (): функция FORMAT () используется для форматирования того, как должно отображаться поле.
    Синтаксис:
     ВЫБЕРИТЕ ФОРМАТ (имя_столбца, формат) ИЗ имя_таблицы; 
    

    Запросы:

    1. Форматирование текущей даты как «ГГГГ-ММ-ДД».
       ВЫБЕРИТЕ ИМЯ, ФОРМАТ (Сейчас (), 'ГГГГ-ММ-ДД') КАК ДАТА ОТ студентов; 
      

      Выход:

      НАЗВАНИЕ Дата
      ЖЕСТКИЙ 2017-01-13
      СЮРЕШ 2017-01-13
      ПРАТИК 2017-01-13
      ДХАНРАДЖ 2017-01-13
      баран 2017-01-13

Эта статья предоставлена Pratik Agarwal . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.