10.07.2015 Views

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TTÜ: Relatsioonialgebra. Sissejuhatus SQL keelde (2012) © Erki EessaarSELECT Sum(palk)/Count(*) AS keskmine_palk1FROM Tootaja;Tulemus: 1066,7SELECT Avg(palk) AS keskmine_palk2FROM Tootaja;Tulemus: 1280SQL standardi seatud piirangud seoses grupifunktsioonidega.Grupifunktsiooni argument ei või olla teise grupifunktsiooni väljakutse(nt. Sum(Avg(x)). Kui sellist päringut soovitakse teha, siis kõigepealttuleb luua vaade, milles on kasutatud ühe grupifunktsiooni ning siisteha selle vaate põhjal päring.Grupifunktsiooni argument ei või olla mitteskalaarne alampäring (nt.Avg(SELECT veerg1 FROM Tabel1 WHERE ...). Seega ei saa järgmistpäringut kasutada, leidmaks töötajate keskmist palka:SELECT Avg(SELECT palk FROM Tootaja);5.9.2 Igale reale eraldi rakenduvad funktsioonidMõned näited.Upper(string) – teisendab stringis kõik tähed suurtähtedeks.Lower(string) – teisendab stringis kõik tähed väiketähtedeks.SELECT Upper(perenimi) AS uus_nimiFROM Tootaja;perenimiJÕGIMETSKASKTRIIKNagu näete, saab funktsiooni väljakutsel kasutada argumendina veeru nime.Iga käsitletava rea korral võetakse argument sellele veerule vastavast väljast.Funktsioone võib kasutada ka predikaatides. Järgnevalt otsitakse töötajat,kelle perenimi on Kask, kusjuures suur- ja väiketähti ei eristata.Näide:SELECT *FROM TootajaWHERE Upper(perenimi)='KASK';Võib ka nii:SELECT *FROM TootajaWHERE Lower(perenimi)='kask';66

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!