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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

студентски сто

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

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

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

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

упит:

    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

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

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

Топ Чланци

Категорија