Alampäringud

 

Alampäringud on päringud, mida saab kirjutada teise päringu sisse, et anda esimesele päringule ette parameetrid. Näiteks soovime saada isikuid, kelle vanus on üle keskmise. Selleks on vaja leida eraldi, mis on keskmine vanus ja sorteerida isikute hulgast välja need, kelle vanus on suurem:

 

SELECT * FROM "Isik" WHERE vanus > (SELECT AVG (vanus) FROM "Isik");

 

Võime kontrollida, mis oli keskmine vanus.

SELECT AVG (vanus) as keskmine_vanus FROM "Isik");

keskminevanus

 

Saame selle ka ümardada:

SELECT ROUND (AVG (vanus)) as keskmine_vanus FROM "Isik");

ymarkeskminevanus

 

Saame kokku lugeda mingile tingimusele vastavate ridade arvu:

SELECT COUNT (vanus) FROM "Isik" WHERE perenimi = 'Luik' ;

count

 

Lihtsamad matemaatilised funktsioonid

COUNT ridade arv
MAX suurim väärtus
MIN väikseim väärtus
AVG aritmeetiline keskmine
SUM summa
ROUND ümardab lähima täisarvuni. Nt. round(42.4) annab 42.
ROUND (v numeric, s int) ümardab s arvu kümnendkohani. Nt round(42.4382.2) annab 42.44
 

Lihtsamad sõne (teksti) funktsioonid

Funktsioon Tagastatakse Näide Tulemus
string || string   ’post’ || ’greSQL’ PostgreSQL
string || non-string or non-string || string   'Väärtus: ' || 42 Väärtus: 42
char_length (string) või character_length (string) or length (string) tähemärkide arv sõnes char_length(’Mart’) 4
lower (string) konverteerib väiketähtedeks lower(’JAAN’) jaan
upper (string) konverteerib suurtähtedeks upper(’jaan’) JAAN
 

Võrdlusoperaatorid PostgreSQLis

= võrdne
<> või != mittevõrdne
> suurem kui
< väiksem kui
>= suurem või võrdne
<= väiksem või võrdne
NOT pöörab tingimuse vastupidiseks
AND saab lisada mitu tingimust
OR saab lisada mitu tingimust, millest vähemalt ühele peab vastama
BETWEEN vahemikus (min-max)
LIKE midagi nagu
 

Kõige kõrgem vanus andmebaasis Isik:

 

SELECT max (vanus) from "Isik";

 

Leia kõik isikud, kelle eesnimi algab A-ga. Tõstutundlik.

SELECT * from "Isik" WHERE eesnimi LIKE ' A% ';

eesnimiAga