SQL funkcijas (apkopotās un skalārās funkcijas)
SQL funkcijas ir iebūvētas programmas, kas tiek izmantotas dažādu darbību veikšanai datu bāzē.
Ir divi veidi funkcijas SQL:
- Apkopotās funkcijas
- Skalārās funkcijas
SQL apkopotās funkcijas
SQL apkopotās funkcijas darbojas ar datu grupu un atgriež vienskaitļa izvadi. Tos galvenokārt izmanto kopā ar GROUP BY klauzula datu apkopošanai.
Dažas izplatītas apkopošanas funkcijas ar sintaksi un aprakstu ir parādītas zemāk esošajā tabulā.
| Kopējā funkcija | Apraksts | Sintakse |
|---|---|---|
| AVG() | Aprēķina vidējo vērtību | SELECT AVG(kolonnas_nosaukums) NO tabulas_nosaukums; |
| COUNT() | Uzskaita rindu skaitu | ATLASĪT COUNT(kolonnas_nosaukums) NO tabulas_nosaukums |
| PIRMAIS() | Atgriež pirmo vērtību sakārtotā vērtību kopā | SELECT FIRST(kolonnas_nosaukums) NO tabulas_nosaukums; |
| PĒDĒJAIS() | Atgriež pēdējo vērtību sakārtotā vērtību kopā | SELECT LAST(kolonnas_nosaukums) NO tabulas_nosaukums; |
| MAX() | Izgūst maksimālo vērtību no kolonnas | SELECT MAX(kolonnas_nosaukums) NO tabulas_nosaukums; |
| MIN() | Izgūst minimālo vērtību no kolonnas | SELECT MIN(kolonnas_nosaukums) FROM tabulas_nosaukums; |
| SUM() | Aprēķina vērtību kopējo summu ciparu kolonnā | SELECT SUM(kolonnas_nosaukums) NO tabulas_nosaukums; |
SQL skalāra funkcijas
SQL skalārās funkcijas ir iebūvētas funkcijas, kas darbojas ar vienu vērtību un atgriež vienu vērtību.
Skalārās funkcijas SQL palīdz efektīvi apstrādāt datus un vienkāršot sarežģītus aprēķinus SQL vaicājumos.
| Skalārā funkcija | Apraksts | Sintakse |
|---|---|---|
| UCASE() | Pārvērš virkni par lielajiem burtiem | SELECT UCASE(kolonnas_nosaukums) FROM tabulas_nosaukums; |
| LCASE() | Pārvērš virkni par mazajiem burtiem | SELECT LCASE(kolonnas_nosaukums) FROM tabulas_nosaukums; |
| MID() | Izvelk apakšvirkni no virknes | SELECT MID(kolonnas_nosaukuma sākuma garums) FROM tabulas_nosaukums; |
| TIKAI () | Atgriež virknes garumu | SELECT LEN(kolonnas_nosaukums) NO tabulas_nosaukums; |
| ROUND() | Noapaļo skaitli līdz noteiktam decimāldaļu skaitam | SELECT ROUND(kolonnas_nosaukums decimāldaļas) FROM tabulas_nosaukums; |
| TAGAD () | Atgriež pašreizējo datumu un laiku | ATLASĪT TAGAD (); |
| FORMAT() | Formatē vērtību norādītajā formātā | SELECT FORMAT(kolonnas_nosaukuma formāts) FROM tabulas_nosaukums; |
SQL funkciju piemēri
Apskatīsim dažus SQL funkciju piemērus. Mēs apskatīsim SQL apkopoto funkciju un skalāro funkciju piemērus.
Mēs veiksim vaicājumus dotajā SQL tabulā:
Apkopoto funkciju piemēri
Apskatīsim katras apkopotās funkcijas piemērus SQL.
AVG() funkcijas piemērs
Studentu vidējo atzīmju aprēķināšana.
Vaicājums:
SELECT AVG(MARKS) AS AvgMarks FROM Students;Izvade:
| Vidējās atzīmes |
| 80 |
COUNT() Funkcijas piemērs
Kopējā studentu skaita aprēķināšana.
Vaicājums:
SELECT COUNT (*) AS NumStudents FROM Students;Izvade:
| NumStudents |
| 5 |
FIRST() Funkcijas piemērs
Pirmā studenta atzīmju iegūšana no studentu tabulas.
Vaicājums:
SELECT FIRST (MARKS) AS MarksFirst FROM Students;Izvade:
| MarksFirst |
| 90 |
PĒDĒJAIS() Funkcijas piemērs
Pēdējā studenta atzīmju iegūšana no skolēnu tabulas.
Vaicājums:
SELECT LAST (MARKS) AS MarksLast FROM Students;Izvade:
| MarksLast |
| 85 |
MAX() Funkcijas piemērs
Maksimālo skolēnu atzīmju iegūšana no tabulas Studenti.
Vaicājums:
SELECT MAX (MARKS) AS MaxMarks FROM Students;Izvade :
| MaxMarks |
| 95 |
MIN() Funkcijas piemērs
Studentu minimālo atzīmju iegūšana no tabulas Studenti.
Vaicājums:
SELECT MIN (MARKS) AS MinMarks FROM Students;Izvade :
| MinMarks |
| 50 |
SUM() Funkcijas piemērs
Kopējo skolēnu atzīmju summēšanas iegūšana no tabulas Studenti.
Vaicājums:
SELECT SUM(MARKS) AS TotalMarks FROM Students;Izvade :
| TotalMarks |
| 400 |
Skalāro funkciju piemēri
Apskatīsim dažus piemērus katrai skalārajai funkcijai SQL.
UCASE() funkcijas piemērs
Studentu vārdu pārvēršana no tabulas Studenti uz lielajiem burtiem.
Vaicājums:
SELECT UCASE (NAME) FROM Students;Izvade:
| VĀRDS |
| SARBI |
| SURESH |
| PRAKSE |
| DHANRAJ |
| RAM |
LCASE() funkcijas piemērs
Studentu vārdu pārvēršana no tabulas Studenti uz mazajiem burtiem.
Vaicājums:
SELECT LCASE (NAME) FROM Students;Izvade:
| VĀRDS |
| skarbs |
| suresh |
| prakse |
| dhanraj |
| auns |
MID() funkcijas piemērs
Tiek iegūtas pirmās četras skolēnu vārdu rakstzīmes no tabulas Studenti.
Vaicājums:
SELECT MID (NAME14) FROM Students;Izvade :
| VĀRDS |
| SVEĶI |
| DROŠI |
| PRAT |
| VISI |
| RAM |
LEN() Funkcijas piemērs
Studentu vārdu garuma iegūšana no studentu tabulas.
Vaicājums:
SELECT LENGTH (NAME) FROM Students;Izvade:
| VĀRDS |
| 5 |
| 6 |
| 6 |
| 7 |
| 3 |
ROUND() Funkcijas piemērs
Maksimālo skolēnu atzīmju iegūšana no tabulas Studenti.
Vaicājums:
SELECT ROUND (MARKS0) FROM Students;Izvade :
| MARKS |
| 90 |
| 50 |
| 80 |
| 95 |
| 85 |
NOW() Funkcijas piemērs
Notiek pašreizējā sistēmas laika iegūšana.
Vaicājums:
SELECT NAME NOW() AS DateTime FROM Students ;Izvade:
| VĀRDS | Datums un laiks |
| SARBI | 13.01.2017 13:30:11 |
| SURESH | 13.01.2017 13:30:11 |
| PRAKSE | 13.01.2017 13:30:11 |
| DHANRAJ | 13.01.2017 13:30:11 |
| RAM | 13.01.2017 13:30:11 |
FORMAT() Funkcijas piemērs
Pašreizējais datums tiek formatēts kā “GGGG-MM-DD”.
Vaicājums:
SELECT NAME FORMAT (Now()'YYYY-MM-DD') AS Date FROM Students;Izvade:
| VĀRDS | Datums |
| SARBI | 2017-01-13 |
| SURESH | 2017-01-13 |
| PRAKSE | 2017-01-13 |
| DHANRAJ | 2017-01-13 |
| RAM | 2017-01-13 |
Svarīgi punkti par SQL funkcijām
Izveidojiet viktorīnu
- SQL funkcijas ir iebūvētas programmas, ko izmanto, lai dažādos veidos manipulētu ar datiem.
- Ir dažādi SQL funkciju veidi - apkopotās funkcijas un skalāras funkcijas.
- Apkopotās funkcijas veic aprēķinus vērtību grupai un atgriež vienu vērtību. Piemērs SUM AVG COUNT.
- Skalārās funkcijas darbojas ar vienu vērtību un atgriež vienu vērtību. Piemērs UPPER LOWER SUBSTRING.
- SQL funkcijas var izmantot dažādos SQL priekšrakstos, piemēram, SELECT WHERE GROUP BY un ORDER BY, lai uzlabotu datu apstrādi un analīzi.