Рубрики

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

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

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

Студенты-Table

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

  • AVG () : возвращает среднее значение после расчета по значениям в числовом столбце.
    Синтаксис:
    SELECT AVG(column_name) FROM table_name;
    

    Запросы:

    1. Вычисление средних баллов студентов.
      SELECT AVG(MARKS) AS AvgMarks FROM Students; 
      

      Выход:

      AvgMarks
      80

    2. Вычисление среднего возраста студентов.
      SELECT AVG(AGE) AS AvgAge FROM Students; 
      

      Выход:

      AvgAge
      19.4

  • COUNT (): используется для подсчета количества строк, возвращаемых в инструкции SELECT. Он не может быть использован в MS ACCESS.
    Синтаксис:
    SELECT COUNT(column_name) FROM table_name;
    

    Запросы:

    1. Подсчет общего количества студентов.
      SELECT COUNT(*) AS NumStudents FROM Stuents;
      

      Выход:

      NumStudents
      5

    2. Вычисление числа студентов с уникальным / отличным возрастом.
      SELECT COUNT(DISTINCT AGE) AS NumStudents FROM Students;
      

      Выход:

      NumStudents
      4

  • FIRST (): функция FIRST () возвращает первое значение выбранного столбца.
    Синтаксис:
    SELECT FIRST(column_name) FROM table_name;
    

    Запросы:

    1. Получение отметок первого ученика со стола учеников.
      SELECT FIRST(MARKS) AS MarksFirst FROM Students;
      

      Выход:

      MarksFirst
      90

    2. Получение возраста первого ученика из таблицы учеников.
      SELECT FIRST(AGE) AS AgeFirst FROM Students;
      

      Выход:

      AgeFirst
      19

  • LAST (): функция LAST () возвращает последнее значение выбранного столбца. Может использоваться только в MS ACCESS.
    Синтаксис:
    SELECT LAST(column_name) FROM table_name;
    

    Запросы:

    1. Извлечение отметок последнего ученика из таблицы «Студенты».
      SELECT LAST(MARKS) AS MarksLast FROM Students;
      

      Выход:

      MarksLast
      82

    2. Выбор возраста последнего ученика из таблицы учеников.
      SELECT LAST(AGE) AS AgeLast FROM Students;
      

      Выход:

      AgeLast
      18

  • MAX (): функция MAX () возвращает максимальное значение выбранного столбца.
    Синтаксис:
    SELECT MAX(column_name) FROM table_name;
    

    Запросы :

    1. Получение максимальных оценок среди студентов из таблицы «Студенты».
      SELECT MAX(MARKS) AS MaxMarks FROM Students;
      

      Выход:

      MaxMarks
      95

    2. Получение максимального возраста среди студентов из таблицы «Студенты».
      SELECT MAX(AGE) AS MaxAge FROM Students;
      

      Выход:

      MaxAge
      21

  • MIN (): функция MIN () возвращает минимальное значение выбранного столбца.
    Синтаксис:
    SELECT MIN(column_name) FROM table_name;
    

    Запросы:

    1. Получение минимальных оценок среди студентов из таблицы «Студенты».
      SELECT MIN(MARKS) AS MinMarks FROM Students;
      

      Выход:

      MinMarks
      50

    2. Извлечение минимального возраста среди учеников из таблицы учеников.
      SELECT MIN(AGE) AS MinAge FROM Students;
      

      Выход:

      MinAge
      18

  • SUM (): функция SUM () возвращает сумму всех значений выбранного столбца.
    Синтаксис:
    SELECT SUM(column_name) FROM table_name;
    

    Запросы:

    1. Выборка суммирования итоговых оценок среди студентов из таблицы «Студенты».
      SELECT SUM(MARKS) AS TotalMarks FROM Students;
      

      Выход:

      TotalMarks
      400

    2. Выборка суммирования общего возраста среди учеников из таблицы учеников.
      SELECT SUM(AGE) AS TotalAge FROM Students;
      

      Выход:

      TotalAge
      97

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

  • UCASE () : преобразует значение поля в верхний регистр.
    Синтаксис:
    SELECT UCASE(column_name) FROM table_name;
    

    Запросы:

    1. Преобразование имен учеников из таблицы учеников в верхний регистр.
      SELECT UCASE(NAME) FROM Students;
      

      Выход:

      NAME
      HARSH
      SURESH
      PRATIK
      DHANRAJ
      RAM

  • LCASE () : преобразует значение поля в нижний регистр.
    Синтаксис:
    SELECT LCASE(column_name) FROM table_name;
    

    Запросы:

    1. Преобразование имен учеников из таблицы учеников в строчные.
      SELECT LCASE(NAME) FROM Students;
      

      Выход:

      NAME
      harsh
      suresh
      pratik
      dhanraj
      ram

  • MID (): функция MID () извлекает текст из текстового поля.
    Синтаксис:
    SELECT MID(column_name,start,length) AS some_name FROM table_name;
    
    specifying length is optional here, and start signifies start position ( starting from 1 )
    

    Запросы:

    1. Получение первых четырех символов имен учеников из таблицы «Студенты».
      SELECT MID(NAME,1,4) FROM Students; 
      

      Выход:

      NAME
      HARS
      SURE
      PRAT
      DHAN
      RAM

  • LEN (): функция LEN () возвращает длину значения в текстовом поле.
    Синтаксис:
    SELECT LENGTH(column_name) FROM table_name;
    

    Запросы:

    1. Получение длины имен студентов из таблицы студентов.
      SELECT LENGTH(NAME) FROM Students;
      

      Выход:

      NAME
      5
      6
      6
      7
      3

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

    Синтаксис:

    SELECT ROUND(column_name,decimals) FROM table_name; 
    
    decimals- number of decimals to be fetched.
    

    Запросы:

    1. Получение максимальных оценок среди студентов из таблицы «Студенты».
      SELECT ROUND(MARKS,0) FROM table_name; 
      

      Выход:

      MARKS
      90
      50
      80
      95
      85

  • NOW (): функция NOW () возвращает текущую системную дату и время.
    Синтаксис:
    SELECT NOW() FROM table_name;
    

    Запросы:

    1. Получение текущего системного времени.
      SELECT NAME, NOW() AS DateTime FROM Students; 
      

      Выход:

      NAMEDateTime
      HARSH1/13/2017 1:30:11 PM
      SURESH1/13/2017 1:30:11 PM
      PRATIK1/13/2017 1:30:11 PM
      DHANRAJ1/13/2017 1:30:11 PM
      RAM1/13/2017 1:30:11 PM

  • FORMAT (): функция FORMAT () используется для форматирования отображения поля.
    Синтаксис:
    SELECT FORMAT(column_name,format) FROM table_name; 
    

    Запросы:

    1. Форматирование текущей даты в формате «ГГГГ-ММ-ДД».
      SELECT NAME, FORMAT(Now(),'YYYY-MM-DD') AS Date FROM Students; 
      

      Выход:

      NAMEDate
      HARSH2017-01-13
      SURESH2017-01-13
      PRATIK2017-01-13
      DHANRAJ2017-01-13
      RAM2017-01-13

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

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

Рекомендуемые посты:

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

0.00 (0%) 0 votes