logo

СКЛ функције (агрегатне и скаларне функције)

СКЛ функције су уграђени програми који се користе за обављање различитих операција над базом података.

постоје два врсте функција у СКЛ-у:

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

СКЛ агрегатне функције

СКЛ агрегатне функције оперишу са групом података и враћају сингуларни излаз. Углавном се користе са ГРОУП БИ клаузула за сумирање података. 



Неке уобичајене агрегатне функције са синтаксом и описом приказане су у табели испод.

Агрегатна функцијаОписСинтакса
АВГ()Израчунава просечну вредностСЕЛЕЦТ АВГ(име_колоне) ИЗ име_табеле;
ЦОУНТ()Броји број редоваСЕЛЕЦТ ЦОУНТ(име_колоне) ФРОМ табле_наме
ПРВИ()Враћа прву вредност у уређеном скупу вредностиСЕЛЕЦТ ФИРСТ(име_колоне) ФРОМ име_табеле;
ПОСЛЕДЊА()Враћа последњу вредност у уређеном скупу вредностиСЕЛЕЦТ ЛАСТ(име_колоне) ФРОМ име_табеле;
МАКС()Преузима максималну вредност из колонеСЕЛЕЦТ МАКС(име_колоне) ФРОМ име_табеле;
МИН()Преузима минималну вредност из колонеСЕЛЕЦТ МИН(име_колоне) ФРОМ име_табеле;
СУМ()Израчунава укупан збир вредности у нумеричкој колониСЕЛЕЦТ СУМ(име_колоне) ИЗ име_табеле;

СКЛ скаларне функције

СКЛ скаларне функције су уграђене функције које раде на једној вредности и враћају једну вредност.

Скаларне функције у СКЛ-у помажу у ефикасној манипулацији подацима и поједностављивању сложених прорачуна у СКЛ упитима.

Скаларна функцијаОписСинтакса
УЦАСЕ()Конвертује стринг у велика словаСЕЛЕЦТ УЦАСЕ(име_колоне) ИЗ име_табеле;
ЛЦАСЕ()Конвертује стринг у мала словаСЕЛЕЦТ ЛЦАСЕ(име_колоне) ФРОМ име_табеле;
МИД()Извлачи подниз из стрингаСЕЛЕЦТ МИД(почетна дужина имена колоне) ФРОМ име_табеле;
САМО()Враћа дужину низаСЕЛЕЦТ ЛЕН(име_колоне) ФРОМ име_табеле;
ОКРУГЛО()Заокружује број на одређени број децималаСЕЛЕЦТ РОУНД(име_колоне децимале) ФРОМ име_табеле;
САДА()Враћа тренутни датум и времеСЕЛЕЦТ НОВ();
ФОРМАТ()Форматира вредност са наведеним форматомСЕЛЕЦТ ФОРМАТ(формат имена_колоне) ФРОМ име_табеле;

Примери СКЛ функција

Погледајмо неке примере СКЛ функција. Покрићемо примере СКЛ агрегатних функција и скаларних функција.

Извршићемо упите на датој СКЛ табели:

студентски сто' src='//techcodeview.com/img/sql/83/sql-functions-aggregate-and-scalar-functions.webp' title=

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

Погледајмо примере сваке агрегатне функције у СКЛ-у.

Пример функције АВГ().

Израчунавање просечних оцена ученика. 

упит:

    SELECT    AVG(MARKS)     AS    AvgMarks     FROM    Students; 

Излаз: 

АвгМаркс
80

Пример функције ЦОУНТ().

Израчунавање укупног броја ученика. 

факторијел у в

упит: 

линук команде креирају фасциклу
    SELECT COUNT   (*)     AS    NumStudents     FROM    Students;

Излаз: 

НумСтудентс
5

Пример функције ФИРСТ().

Преузимање оцена првог ученика из табеле ученика. 

упит:

    SELECT FIRST   (MARKS)     AS    MarksFirst     FROM    Students;

Излаз: 

МарксФирст
90

ПОСЛЕДЊА() Пример функције

Преузимање оцена последњег ученика из табеле ученика. 

упит:

    SELECT LAST   (MARKS)     AS    MarksLast     FROM    Students;

Излаз: 

МарксЛаст
85

Пример функције МАКС().

Добијање максималних оцена међу ученицима из табеле Студенти. 

упит:

    SELECT MAX   (MARKS)     AS    MaxMarks     FROM    Students;

Излаз

МакМаркс
95

Пример функције МИН().

Добијање минималних оцена међу ученицима из табеле Студенти. 

упит:

    SELECT MIN   (MARKS)     AS    MinMarks     FROM    Students;

Излаз

МинМаркс
50

Пример функције СУМ().

Дохваћање збира укупних оцена међу ученицима из табеле ученика.

упит:  

SELECT SUM(MARKS) AS TotalMarks FROM Students;

Излаз

ТоталМаркс
400

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

Погледајмо неке примере сваке скаларне функције у СКЛ-у.

Пример функције УЦАСЕ().

Претварање имена ученика из табеле Ученици у велика слова. 

упит:

претраживач и примери
    SELECT UCASE   (NAME)     FROM    Students;

Излаз: 

НАМЕ
ХАРСХ
СУРЕСХ
ПРАКСИ
ДХАНРАЈ
РАМ

Пример функције ЛЦАСЕ().  

Претварање имена ученика из табеле Ученици у мала слова. 

упит:

    SELECT LCASE   (NAME)     FROM    Students;

Излаз: 

НАМЕ
оштра
суресх
пракса
дханрај
рам

Пример функције МИД().

Преузимање прва четири знака имена ученика из табеле Студенти. 

упит:

хост линук
    SELECT MID   (NAME14) FROM Students; 

Излаз

НАМЕ
РЕСИН
СУРЕ
ПРАТ
СВЕ
РАМ

Пример функције ЛЕН().  

Дохваћање дужине имена ученика из табеле ученика. 

упит:

    SELECT LENGTH   (NAME)     FROM    Students;

Излаз: 

НАМЕ
5
6
6
7
3

Пример функције РОУНД().  

Добијање максималних оцена међу ученицима из табеле Студенти. 

упит:

    SELECT ROUND   (MARKS0)     FROM    Students; 

Излаз

МАРКС
90
50
80
95
85

Пример функције НОВ().  

Преузимање тренутног системског времена. 

упит:

    SELECT NAME NOW() AS    DateTime     FROM    Students    ;    

Излаз: 

НАМЕ ДатеТиме
ХАРСХ13.1.2017 13:30:11
СУРЕСХ13.1.2017 13:30:11
ПРАКСИ13.1.2017 13:30:11
ДХАНРАЈ13.1.2017 13:30:11
РАМ13.1.2017 13:30:11

Пример функције ФОРМАТ().  

Форматирање текућег датума као „ГГГГ-ММ-ДД“. 

упит:

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

Излаз: 

НАМЕ Датум
ХАРСХ2017-01-13
СУРЕСХ2017-01-13
ПРАКСИ2017-01-13
ДХАНРАЈ2017-01-13
РАМ2017-01-13

 Важне напомене о СКЛ функцијама

  • СКЛ функције су уграђени програми који се користе за манипулацију подацима на различите начине.
  • Постоје различите врсте СКЛ функција – агрегатне функције и скаларне функције.
  • Агрегатне функције обављају прорачуне за групу вредности и враћају једну вредност. Пример СУМ АВГ ЦОУНТ.
  • Скаларне функције раде на једној вредности и враћају једну вредност. Пример ГОРЊИ ДОЊИ ПОДНИЗ.
  • СКЛ функције се могу користити у различитим СКЛ изразима као што су СЕЛЕЦТ ВХЕРЕ ГРОУП БИ и ОРДЕР БИ ради побољшања обраде и анализе података.
Креирај квиз