SQL функции (агрегирани и скаларни функции)

SQL функции (агрегирани и скаларни функции)

SQL функции са вградени програми, които се използват за извършване на различни операции с базата данни.

има две видове на функции в SQL:

  • Агрегатни функции
  • Скаларни функции

SQL агрегатни функции

SQL агрегатни функции работи върху група данни и връща единичен изход. Те се използват предимно с ГРУПИРАНЕ ПО клауза за обобщаване на данни. 

Някои общи агрегатни функции със синтаксис и описание са показани в таблицата по-долу.

Агрегатна функция Описание Синтаксис
AVG() Изчислява средната стойност SELECT AVG(име_на_колона) FROM име_на_таблица;
БРОЙ() Преброява броя на редовете SELECT COUNT(име_на_колона) ОТ име_на_таблица
ПЪРВИ() Връща първата стойност в подреден набор от стойности SELECT FIRST(име_на_колона) FROM име_на_таблица;
ПОСЛЕДЕН() Връща последната стойност в подреден набор от стойности SELECT LAST(име_на_колона) FROM име_на_таблица;
MAX() Извлича максималната стойност от колона SELECT MAX(име_на_колона) FROM име_на_таблица;
MIN() Извлича минималната стойност от колона SELECT MIN(име_на_колона) FROM име_на_таблица;
SUM() Изчислява общата сума на стойностите в числова колона SELECT SUM(име_на_колона) FROM име_на_таблица;

SQL скаларни функции

SQL скаларни функции са вградени функции, които работят с една стойност и връщат една стойност.

Скаларните функции в SQL помагат за ефективно манипулиране на данни и опростяване на сложни изчисления в SQL заявки.

Скаларна функция Описание Синтаксис
UCASE() Преобразува низ в главни букви SELECT UCASE(име_на_колона) FROM име_на_таблица;
LCASE() Преобразува низ в малки букви SELECT LCASE(име_на_колона) FROM име_на_таблица;
MID() Извлича подниз от низ SELECT MID (начална дължина на име_на_колона) FROM име_на_таблица;
САМО() Връща дължината на низ SELECT LEN(име_на_колона) FROM име_на_таблица;
КРЪГ() Закръглява число до определен брой десетични знаци SELECT ROUND(име_на_колона десетични знаци) FROM име_на_таблица;
СЕГА() Връща текущите дата и час ИЗБЕРЕТЕ СЕГА();
ФОРМАТ() Форматира стойност с посочения формат SELECT FORMAT(формат на име_на_колона) FROM име_на_таблица;

Примери за SQL функции

Нека да разгледаме някои примери за SQL функции. Ще разгледаме примери за SQL агрегатни функции и скаларни функции.

Ще изпълняваме заявки към дадената SQL таблица:

ученическа маса

Примери за агрегатни функции

Нека да разгледаме примерите за всяка агрегатна функция в SQL.

Пример за функция AVG().

Изчисляване на средните оценки на учениците. 

Запитване:

    SELECT     AVG(MARKS)      AS     AvgMarks      FROM     Students;   

Изход: 

AvgMarks
80

Пример за функция COUNT().

Изчисляване на общия брой ученици. 

Запитване: 

    SELECT COUNT    (*)      AS     NumStudents      FROM     Students;  

Изход: 

Брой студенти
5

Пример за функция FIRST().

Извличане на оценки на първия ученик от таблицата Ученици. 

Запитване:

    SELECT FIRST    (MARKS)      AS     MarksFirst      FROM     Students;  

Изход: 

MarksFirst
90

ПОСЛЕДЕН() Пример за функция

Извличане на оценки на последния ученик от таблицата Ученици. 

Запитване:

    SELECT LAST    (MARKS)      AS     MarksLast      FROM     Students;  

Изход: 

MarksLast
85

Пример за функция MAX().

Извличане на максимални оценки сред учениците от таблицата Students. 

Запитване:

    SELECT MAX    (MARKS)      AS     MaxMarks      FROM     Students;  

Изход

MaxMarks
95

Пример за функция MIN().

Извличане на минимални оценки сред учениците от таблицата Students. 

Запитване:

    SELECT MIN    (MARKS)      AS     MinMarks      FROM     Students;  

Изход

MinMarks
50

Пример за функция SUM().

Извличане на сумата от общите оценки сред учениците от таблицата Студенти.

Запитване:  

 SELECT SUM(MARKS) AS TotalMarks FROM Students;  

Изход

Общо точки
400

Примери за скаларни функции

Нека да разгледаме някои примери за всяка скаларна функция в SQL.

Пример за функция UCASE().

Преобразуване на имена на студенти от таблицата Students в главни букви. 

Запитване:

    SELECT UCASE    (NAME)      FROM     Students;  

Изход: 

ИМЕ
СУРОВ
СУРЕШ
ПРАКТИКА
ДХАНРАЖ
RAM

Пример за функция LCASE().  

Преобразуване на имена на студенти от таблицата Students в малки букви. 

Запитване:

    SELECT LCASE    (NAME)      FROM     Students;  

Изход: 

ИМЕ
суров
суреш
практика
дханрадж
овен

Пример за функция MID().

Извличане на първите четири знака от имена на ученици от таблицата Students. 

Запитване:

    SELECT MID    (NAME14) FROM Students;   

Изход

ИМЕ
СМОЛА
СИГУРНО
ПРАЦ
ВСИЧКИ
RAM

Пример за функция LEN().  

Извличане на дължина на имената на учениците от таблицата Students. 

Запитване:

    SELECT LENGTH    (NAME)      FROM     Students;  

Изход: 

ИМЕ
5
6
6
7
3

Пример за функция ROUND().  

Извличане на максимални оценки сред учениците от таблицата Students. 

Запитване:

    SELECT ROUND    (MARKS0)      FROM     Students;   

Изход

МАРКИ
90
50
80
95
85

Пример за функция NOW().  

Извлича се текущото системно време. 

Запитване:

    SELECT NAME NOW() AS     DateTime      FROM     Students     ;     

Изход: 

ИМЕ Дата и час
СУРОВ 13.01.2017 г. 13:30:11 ч
СУРЕШ 13.01.2017 г. 13:30:11 ч
ПРАКТИКА 13.01.2017 г. 13:30:11 ч
ДХАНРАЖ 13.01.2017 г. 13:30:11 ч
RAM 13.01.2017 г. 13:30:11 ч

Пример за функция FORMAT().  

Текущата дата се форматира като „ГГГГ-ММ-ДД“. 

Запитване:

    SELECT     NAME      FORMAT    (Now()'YYYY-MM-DD')      AS     Date      FROM     Students;   

Изход: 

ИМЕ Дата
СУРОВ 2017-01-13
СУРЕШ 2017-01-13
ПРАКТИКА 2017-01-13
ДХАНРАЖ 2017-01-13
RAM 2017-01-13

 Важни точки относно SQL функциите

  • SQL функциите са вградени програми, които се използват за манипулиране на данни по различни начини.
  • Има различни видове SQL функции - агрегатни функции и скаларни функции.
  • Агрегираните функции извършват изчисления върху група от стойности и връщат една стойност. Пример SUM AVG COUNT.
  • Скаларните функции работят с една стойност и връщат една стойност. Пример ГОРЕН ДОЛЕН ПОДНИЗ.
  • SQL функциите могат да се използват в различни SQL оператори като SELECT WHERE GROUP BY и ORDER BY за подобряване на обработката и анализа на данни.
Създаване на тест